public void EvalDefinition_CreateSharedReference() { _env.Bind(Var.Bar, Value.Bar); var expr = BuiltIn.ListOf(ClSymbol.Define, Var.Foo, Var.Bar); Ignore(expr.Reduce(_ctx)); Assert.That(Object.ReferenceEquals(_env.Lookup(Var.Foo), _env.Lookup(Var.Bar)), Is.True); }
public void EvalAssignment_SharedReference() { _env.Bind(Var.Foo, Value.Foo); _env.Bind(Var.Bar, Value.Bar); var expr = BuiltIn.ListOf(ClSymbol.Set, Var.Foo, Var.Bar); var ctx = expr.Reduce(_ctx); Assert.That(Object.ReferenceEquals(ctx.Env.Lookup(Var.Foo), _env.Lookup(Var.Bar)), Is.True); }