Ejemplo n.º 1
0
        public void DetectAndIgnoreWhitespaceSpaces()
        {
            var program = " ";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("EofSym", token.Name);
        }
Ejemplo n.º 2
0
        public void DetectAndIgnoreCommentLine()
        {
            string program = "-- Some comment 12345\r\n ";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("EofSym", token.Name);
            Assert.AreEqual("EOF", token.Value);
        }
Ejemplo n.º 3
0
        public void TurnEmptyProgamIntoEofSymToken()
        {
            var program = string.Empty;
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("EofSym", token.Name);
        }
Ejemplo n.º 4
0
        public void ReturnTokenWhenScanIsCalled()
        {
            string program = "Begin";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("BeginSym", token.Name);
        }
Ejemplo n.º 5
0
        public void ReturnLexicalErrorWhenBadCharactersEncountered()
        {
            string program = "First<Second";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("Id", token.Name);
            Assert.AreEqual("First", token.Value);

            token = microScanner.Scan();
            Assert.AreEqual("Lexical Error", token.Name, token.Value);
            Assert.AreEqual("Bad char value: '<'", token.Value);

            token = microScanner.Scan();
            Assert.AreEqual("Id", token.Name);
            Assert.AreEqual("Second", token.Value);
        }
Ejemplo n.º 6
0
        public void DetectSingleEqualAsError()
        {
            string program = "=";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("Lexical Error", token.Name);
        }
Ejemplo n.º 7
0
        public void DetectColonFollwedByAnythingButEqualAsError()
        {
            string program = ":a";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("Lexical Error", token.Name);
            Assert.AreEqual("Bad char value: ':a'", token.Value);
        }
Ejemplo n.º 8
0
        public void DetectAndReturnComma()
        {
            string program = ",";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("Comma", token.Name);
        }
Ejemplo n.º 9
0
        public void DetectAndReturnSemiColon()
        {
            string program = ";";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("SemiColon", token.Name);
        }
Ejemplo n.º 10
0
        public void DetectAndReturnRightParen()
        {
            string program = ")";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("RParen", token.Name);
        }
Ejemplo n.º 11
0
        public void DetectAndReturnReadReservedWord()
        {
            string program = "Read";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("ReadSym", token.Name);
            Assert.AreEqual("READ", token.Value);
        }
Ejemplo n.º 12
0
        public void DetectAndReturnPlusSymbol()
        {
            string program = "+";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("PlusOp", token.Name);
        }
Ejemplo n.º 13
0
        public void DetectAndReturnMinusOp()
        {
            string program = "-";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("MinusOp", token.Name);
        }
Ejemplo n.º 14
0
        public void DetectAndReturnLiteral()
        {
            string program = "abcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("Id", token.Name);
            Assert.AreEqual(program, token.Value);
        }
Ejemplo n.º 15
0
        public void DetectAndReturnIntLiteral()
        {
            string program = "1234";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("IntLiteral", token.Name);
            Assert.AreEqual("1234", token.Value);
        }
Ejemplo n.º 16
0
        public void DetectAndReturnWriteReservedWord()
        {
            string program = "Write";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("WriteSym", token.Name);
            Assert.AreEqual("WRITE", token.Value);
        }
Ejemplo n.º 17
0
        public void DetectAndReturnAssignOp()
        {
            string program = ":=";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("AssignOp", token.Name);
            Assert.AreEqual(":=", token.Value);
        }
Ejemplo n.º 18
0
        public void DetectAndReturnBeginSymbol()
        {
            string program = "Begin";
            var microScanner = new MicroScanner(program);

            var token = microScanner.Scan();
            Assert.AreEqual("BeginSym", token.Name);
            Assert.AreEqual("BEGIN", token.Value);
        }