public void MatchBoundNameExpression() { var expr = new NameExpression("a"); var ctx = new Context<IExpression>(); ctx.SetValue("a", new IntegerExpression(42)); Assert.IsTrue(expr.Match(new IntegerExpression(42), ctx)); Assert.IsFalse(expr.Match(new IntegerExpression(1), ctx)); }
public void MatchUnboundNameExpression() { var expr = new NameExpression("a"); var ctx = new Context<IExpression>(); var cexpr = new IntegerExpression(42); Assert.IsTrue(expr.Match(cexpr, ctx)); Assert.AreSame(cexpr, ctx.GetValue("a")); }