コード例 #1
0
        public void FallbackRecursiveError()
        {
            Buffer b = NewInstance();

            b.Fallback('X', 0);
            b.Fallback('X', 0);
        }
コード例 #2
0
        public void FallbackSequential()
        {
            Buffer b = NewInstance();

            b.Fallback('X', 0);
            b.GetNextChar();
            b.Fallback('X', 0);
        }
コード例 #3
0
        public void FallbackEmptyForEncodingUTF8()
        {
            Buffer b = Encoding.UTF8.EncoderFallback.CreateFallbackBuffer() as Buffer;

            Assert.IsTrue(b.Fallback('X', 0), "#1");
            Assert.IsFalse(b.MovePrevious(), "#2");
            Assert.AreEqual(1, b.Remaining, "#3");
            // the string does not exist.
            Assert.AreEqual('\uFFFD', b.GetNextChar(), "#4");
        }
コード例 #4
0
        public void FallbackEmptyDefault()
        {
            Buffer b = NewInstance();

            Assert.IsTrue(b.Fallback('X', 0), "#0");
            Assert.IsFalse(b.MovePrevious(), "#1");
            Assert.AreEqual(1, b.Remaining, "#2");
            Assert.AreEqual('?', b.GetNextChar(), "#3");
            Assert.AreEqual(0, b.Remaining, "#4");
            // the string is already consumed.
            Assert.AreEqual(char.MinValue, b.GetNextChar(), "#5");
        }
コード例 #5
0
        public void Iterate()
        {
            Assert.AreEqual('\0', Encoding.UTF8.EncoderFallback
                            .CreateFallbackBuffer().GetNextChar(), "#1");

            Buffer b = NewInstance();

//			Assert.AreEqual (1, b.Remaining, "#2");
//			Assert.AreEqual ('?', b.GetNextChar (), "#3");
            Assert.AreEqual(0, b.Remaining, "#4");
            Assert.AreEqual('\0', b.GetNextChar(), "#5");
//			Assert.IsTrue (b.MovePrevious (), "#6");
//			Assert.AreEqual (1, b.Remaining, "#7");
            Assert.IsFalse(b.MovePrevious(), "#8");
//			Assert.AreEqual ('?', b.GetNextChar (), "#9");
        }