Assert.AreEqual (1, d.GetChars (new byte [] {0xB0}, 0, 1, chars, 0, true), "#5");
Assert.AreEqual (new char [] {'?'}, chars, "#6");
}
+
+ [Test]
+ public void Decoder949Refresh ()
+ {
+ Encoding e = Encoding.GetEncoding (949);
+ Decoder d = e.GetDecoder ();
+ char [] chars;
+
+ // incomplete
+ chars = new char [1];
+ Assert.AreEqual (0, d.GetChars (new byte [] {0x81}, 0, 1, chars, 0, false), "#1");
+ Assert.AreEqual (new char [] {'\0'}, chars, "#2");
+
+ // became complete
+ chars = new char [1];
+ Assert.AreEqual (1, d.GetChars (new byte [] {0x41}, 0, 1, chars, 0, false), "#3");
+ Assert.AreEqual (new char [] {'\uAC02'}, chars, "#4");
+
+ // incomplete but refreshed
+ chars = new char [1];
+ Assert.AreEqual (1, d.GetChars (new byte [] {0x81}, 0, 1, chars, 0, true), "#5");
+ Assert.AreEqual (new char [] {'?'}, chars, "#6");
+ }
+
+ [Test]
+ public void Decoder950Refresh ()
+ {
+ Encoding e = Encoding.GetEncoding (950);
+ Decoder d = e.GetDecoder ();
+ char [] chars;
+
+ // incomplete
+ chars = new char [1];
+ Assert.AreEqual (0, d.GetChars (new byte [] {0xF9}, 0, 1, chars, 0, false), "#1");
+ Assert.AreEqual (new char [] {'\0'}, chars, "#2");
+
+ // became complete
+ chars = new char [1];
+ Assert.AreEqual (1, d.GetChars (new byte [] {0x40}, 0, 1, chars, 0, false), "#3");
+ Assert.AreEqual (new char [] {'\u7E98'}, chars, "#4");
+
+ // incomplete but refreshed
+ chars = new char [1];
+ Assert.AreEqual (1, d.GetChars (new byte [] {0xF9}, 0, 1, chars, 0, true), "#5");
+ Assert.AreEqual (new char [] {'?'}, chars, "#6");
+ }
#endif
Assert.AreEqual (0, d.GetChars (new byte [] {0xB0}, 0, 1, chars, 0), "#5");
Assert.AreEqual (new char [] {'\0'}, chars, "#6");
}
+
+ [Test]
+ public void Decoder949NoRefresh ()
+ {
+ Encoding e = Encoding.GetEncoding (949);
+ Decoder d = e.GetDecoder ();
+ char [] chars;
+
+ // incomplete
+ chars = new char [1];
+ Assert.AreEqual (0, d.GetChars (new byte [] {0x81}, 0, 1, chars, 0), "#1");
+ Assert.AreEqual (new char [] {'\0'}, chars, "#2");
+
+ // became complete
+ chars = new char [1];
+ Assert.AreEqual (1, d.GetChars (new byte [] {0x41}, 0, 1, chars, 0), "#3");
+ Assert.AreEqual (new char [] {'\uAC02'}, chars, "#4");
+
+ // incomplete but refreshed
+ chars = new char [1];
+ Assert.AreEqual (0, d.GetChars (new byte [] {0x81}, 0, 1, chars, 0), "#5");
+ Assert.AreEqual (new char [] {'\0'}, chars, "#6");
+ }
+
+ [Test]
+ public void Decoder950NoRefresh ()
+ {
+ Encoding e = Encoding.GetEncoding (950);
+ Decoder d = e.GetDecoder ();
+ char [] chars;
+
+ // incomplete
+ chars = new char [1];
+ Assert.AreEqual (0, d.GetChars (new byte [] {0xF9}, 0, 1, chars, 0), "#1");
+ Assert.AreEqual (new char [] {'\0'}, chars, "#2");
+
+ // became complete
+ chars = new char [1];
+ Assert.AreEqual (1, d.GetChars (new byte [] {0x40}, 0, 1, chars, 0), "#3");
+ Assert.AreEqual (new char [] {'\u7E98'}, chars, "#4");
+
+ // incomplete but refreshed
+ chars = new char [1];
+ Assert.AreEqual (0, d.GetChars (new byte [] {0xF9}, 0, 1, chars, 0), "#5");
+ Assert.AreEqual (new char [] {'\0'}, chars, "#6");
+ }
#endregion
#region Korean