예제 #1
0
        public void ASTGrammerBehaviourRegistry_RegisterTrigger_OutOfBand_Test()
        {
            TestGrammer       grammer;
            SyntaxTreeBuilder builder = new SyntaxTreeBuilder();

            builder.RegisterGrammer(grammer = new TestGrammer(2));
            builder.Build("5");
            grammer.CachedRegistry.Register(typeof(CollectionNode));
        }
예제 #2
0
        public void AbstractSyntaxTreeBuilder_InferredKeywordDefinitionsMatchExpected()
        {
            TestGrammer       grammer;
            SyntaxTreeBuilder builder = new SyntaxTreeBuilder();

            builder.RegisterGrammer(grammer = new TestGrammer(3));
            builder.Build("5");
            Assert.AreEqual(true, grammer.Tokenizer.Keywords.ContainsKey("true"));
            Assert.AreEqual(true, grammer.Tokenizer.Keywords.ContainsKey("false"));
        }
예제 #3
0
        public void AbstractSyntaxTreeBuilder_InferredUnaryDefinitionsMatchExpected()
        {
            TestGrammer       grammer;
            SyntaxTreeBuilder builder = new SyntaxTreeBuilder();

            builder.RegisterGrammer(grammer = new TestGrammer(3));
            builder.Build("5");
            int present = 0;

            for (int i = 0; i < grammer.Tokenizer.Handlers.Count; i++)
            {
                if (grammer.Tokenizer.Handlers[i] is UnaryTokenizationHandler <Token, TokenKind> )
                {
                    present++;
                }
            }

            Assert.AreEqual(1, present);
        }