コード例 #1
0
ファイル: LexerTest.cs プロジェクト: TerrificNet/TerrificNet
        public void TestLexerTokenization(string input, IEnumerable<Token> expectedResult)
        {
            var lexer = new Lexer();
            var result = lexer.Tokenize(input);

            Assert.NotNull(result);
            Assert.Equal(expectedResult, result, new TokenEqualityComparer());
        }
コード例 #2
0
        public void TestFullStack(string inputTemplate, object inputObject, string expectedResult)
        {
            var lexer = new Lexer();
            var tokens = lexer.Tokenize(inputTemplate);
            var parser = new Parser(new HandlebarsParser());
            var ast = parser.Parse(tokens);
            var compiler = new VTreeEmitter();
            var dataBinder = TypeDataBinder.BinderFromObject(inputObject);
            var method = compiler.Emit(ast, dataBinder, null);

            var result = method.Execute(new ObjectDataContext(inputObject), null);

            Assert.Equal(expectedResult, result.ToString());
        }