Exemplo n.º 1
0
        public void TestResetOnANTLRStringStream()
        {
            ANTLRStringStream stream = new ANTLRStringStream("One\r\nTwo");

            Assert.AreEqual(0, stream.Index());
            Assert.AreEqual(0, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);

            stream.Consume();                           // O
            stream.Consume();                           // n

            Assert.AreEqual('e', stream.LA(1));
            Assert.AreEqual(2, stream.Index());

            stream.Reset();
            Assert.AreEqual('O', stream.LA(1));
            Assert.AreEqual(0, stream.Index());
            Assert.AreEqual(0, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);
            stream.Consume();                           // O

            Assert.AreEqual('n', stream.LA(1));
            Assert.AreEqual(1, stream.Index());
            Assert.AreEqual(1, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);
            stream.Consume();                           // n

            Assert.AreEqual('e', stream.LA(1));
            Assert.AreEqual(2, stream.Index());
            Assert.AreEqual(2, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);
            stream.Consume();                           // e
        }
Exemplo n.º 2
0
        public void TestSizeOnEmptyANTLRStringStream()
        {
            ANTLRStringStream s1 = new ANTLRStringStream("");

            Assert.AreEqual(0, s1.Size());
            Assert.AreEqual(0, s1.Index());
        }
Exemplo n.º 3
0
        public void TestConsumeOnANTLRStringStream()
        {
            ANTLRStringStream stream = new ANTLRStringStream("One\r\nTwo");

            Assert.AreEqual(0, stream.Index());
            Assert.AreEqual(0, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);

            stream.Consume();                           // O
            Assert.AreEqual(1, stream.Index());
            Assert.AreEqual(1, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);

            stream.Consume();                           // n
            Assert.AreEqual(2, stream.Index());
            Assert.AreEqual(2, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);

            stream.Consume();                           // e
            Assert.AreEqual(3, stream.Index());
            Assert.AreEqual(3, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);

            stream.Consume();                           // \r
            Assert.AreEqual(4, stream.Index());
            Assert.AreEqual(4, stream.CharPositionInLine);
            Assert.AreEqual(1, stream.Line);

            stream.Consume();                           // \n
            Assert.AreEqual(5, stream.Index());
            Assert.AreEqual(0, stream.CharPositionInLine);
            Assert.AreEqual(2, stream.Line);

            stream.Consume();                           // T
            Assert.AreEqual(6, stream.Index());
            Assert.AreEqual(1, stream.CharPositionInLine);
            Assert.AreEqual(2, stream.Line);

            stream.Consume();                           // w
            Assert.AreEqual(7, stream.Index());
            Assert.AreEqual(2, stream.CharPositionInLine);
            Assert.AreEqual(2, stream.Line);

            stream.Consume();                           // o
            Assert.AreEqual(8, stream.Index());
            Assert.AreEqual(3, stream.CharPositionInLine);
            Assert.AreEqual(2, stream.Line);

            stream.Consume();                           // EOF
            Assert.AreEqual(8, stream.Index());
            Assert.AreEqual(3, stream.CharPositionInLine);
            Assert.AreEqual(2, stream.Line);

            stream.Consume();                           // EOF
            Assert.AreEqual(8, stream.Index());
            Assert.AreEqual(3, stream.CharPositionInLine);
            Assert.AreEqual(2, stream.Line);
        }
Exemplo n.º 4
0
 int IIntStream.Index()
 {
     return(stream.Index());
 }
		public void TestResetOnANTLRStringStream()
		{
			ANTLRStringStream stream = new ANTLRStringStream("One\r\nTwo");
			Assert.AreEqual(0, stream.Index());
			Assert.AreEqual(0, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);

			stream.Consume();		// O
			stream.Consume();		// n

			Assert.AreEqual('e', stream.LA(1));
			Assert.AreEqual(2, stream.Index());

			stream.Reset();
			Assert.AreEqual('O', stream.LA(1));
			Assert.AreEqual(0, stream.Index());
			Assert.AreEqual(0, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);
			stream.Consume();		// O

			Assert.AreEqual('n', stream.LA(1));
			Assert.AreEqual(1, stream.Index());
			Assert.AreEqual(1, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);
			stream.Consume();		// n

			Assert.AreEqual('e', stream.LA(1));
			Assert.AreEqual(2, stream.Index());
			Assert.AreEqual(2, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);
			stream.Consume();		// e
		}
		public void TestConsumeOnANTLRStringStream()
		{
			ANTLRStringStream stream = new ANTLRStringStream("One\r\nTwo");
			Assert.AreEqual(0, stream.Index());
			Assert.AreEqual(0, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);

			stream.Consume();		// O
			Assert.AreEqual(1, stream.Index());
			Assert.AreEqual(1, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);

			stream.Consume();		// n
			Assert.AreEqual(2, stream.Index());
			Assert.AreEqual(2, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);

			stream.Consume();		// e
			Assert.AreEqual(3, stream.Index());
			Assert.AreEqual(3, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);

			stream.Consume();		// \r
			Assert.AreEqual(4, stream.Index());
			Assert.AreEqual(4, stream.CharPositionInLine);
			Assert.AreEqual(1, stream.Line);

			stream.Consume();		// \n
			Assert.AreEqual(5, stream.Index());
			Assert.AreEqual(0, stream.CharPositionInLine);
			Assert.AreEqual(2, stream.Line);

			stream.Consume();		// T
			Assert.AreEqual(6, stream.Index());
			Assert.AreEqual(1, stream.CharPositionInLine);
			Assert.AreEqual(2, stream.Line);

			stream.Consume();		// w
			Assert.AreEqual(7, stream.Index());
			Assert.AreEqual(2, stream.CharPositionInLine);
			Assert.AreEqual(2, stream.Line);

			stream.Consume();		// o
			Assert.AreEqual(8, stream.Index());
			Assert.AreEqual(3, stream.CharPositionInLine);
			Assert.AreEqual(2, stream.Line);

			stream.Consume();		// EOF
			Assert.AreEqual(8, stream.Index());
			Assert.AreEqual(3, stream.CharPositionInLine);
			Assert.AreEqual(2, stream.Line);

			stream.Consume();		// EOF
			Assert.AreEqual(8, stream.Index());
			Assert.AreEqual(3, stream.CharPositionInLine);
			Assert.AreEqual(2, stream.Line);
		}
		public void TestSizeOnEmptyANTLRStringStream()
		{
			ANTLRStringStream s1 = new ANTLRStringStream("");
			Assert.AreEqual(0, s1.Size());
			Assert.AreEqual(0, s1.Index());
		}