Axiom.Compiler.Framework.Unit_Tests.PrologScannerTest.FactTokensRule C# (CSharp) Method

FactTokensRule() private method

private FactTokensRule ( ) : void
return void
        public void FactTokensRule()
        {
            Write("fact_tokens.txt", "male(ali,hodroj,X,'Fine not really!',[A|B]).");
            StreamReader stream = new StreamReader("C:\\fact_tokens.txt");
            scanner = new PrologScanner(stream);
            // male
            scanner.Next();
            Assert.AreEqual(PrologToken.ATOM, scanner.Current.Kind);

            // (
            scanner.Next();
            Assert.AreEqual(PrologToken.LPAREN, scanner.Current.Kind);

            // ali
            scanner.Next();
            Assert.AreEqual(PrologToken.ATOM, scanner.Current.Kind);

            // ,
            scanner.Next();
            Assert.AreEqual(PrologToken.COMMA, scanner.Current.Kind);

            // hodroj
            scanner.Next();
            Assert.AreEqual(PrologToken.ATOM, scanner.Current.Kind);

            // ,
            scanner.Next();
            Assert.AreEqual(PrologToken.COMMA, scanner.Current.Kind);

            // X
            scanner.Next();
            Assert.AreEqual(PrologToken.VARIABLE, scanner.Current.Kind);

            // ,
            scanner.Next();
            Assert.AreEqual(PrologToken.COMMA, scanner.Current.Kind);

            // 'Fine Not Really!'
            scanner.Next();
            Assert.AreEqual(PrologToken.ATOM, scanner.Current.Kind);

            // ,
            scanner.Next();
            Assert.AreEqual(PrologToken.COMMA, scanner.Current.Kind);

            // [
            scanner.Next();
            Assert.AreEqual(PrologToken.LBRACKET, scanner.Current.Kind);

            // A
            scanner.Next();
            Assert.AreEqual(PrologToken.VARIABLE, scanner.Current.Kind);

            // |
            scanner.Next();
            Assert.AreEqual(PrologToken.LIST_SEP, scanner.Current.Kind);

            // B
            scanner.Next();
            Assert.AreEqual(PrologToken.VARIABLE, scanner.Current.Kind);

            // ]
            scanner.Next();
            Assert.AreEqual(PrologToken.RBRACKET, scanner.Current.Kind);

            // )
            scanner.Next();
            Assert.AreEqual(PrologToken.RPAREN, scanner.Current.Kind);

            // .
            scanner.Next();
            Assert.AreEqual(PrologToken.DOT, scanner.Current.Kind);

            stream.Close();
        }