Exemple #1
0
        public void ReferenceTableCanSetKey()
        {
            var table = new ReferenceTable();
            var val   = Expression.CreateValue("asdf");

            table.SetExpressionForKey("key", val);

            var valFromTable = table.ExpressionForKey("key");

            Assert.NotNull(valFromTable);
            Assert.Equal("asdf", valFromTable.Value);
        }
        public void ExpressionCanDerefFromExternalTable()
        {
            var refTable = new ReferenceTable();

            refTable.SetExpressionForKey("name", Expression.CreateValue("Bob"));

            var expr = Expression.CreateFromStringWithExternalReferenceTable(
                "@(playerName *[name])", ParseFlags.None,
                refTable
                );

            Assert.Equal(ExpressionType.Map, expr.ExpressionType);

            var val = expr.MapValueForKey("playerName");

            Assert.Equal(ExpressionType.Value, val.ExpressionType);
            Assert.Equal("Bob", val.Value);
        }