public void test_reify_object_dynamic() { //dynamic approach /* obj = reify_object(Foo(1, var(3)), {var(3): 4}) * assert obj.a == 1 * assert obj.b == 4 * * f = Foo(1, 2) * assert reify_object(f, {}) is f */ dynamic foo = new DyLogicObject(); foo.a = 1; var variable = new Var(3); foo.b = variable; var dict = new Dictionary <object, object>(); dict.Add(variable, 4); dynamic obj = LogicSharp.Reify_Object(foo, dict); Assert.NotNull(obj); Assert.True(1.Equals(obj.a)); Assert.True(4.Equals(obj.b)); dynamic f = new DyLogicObject(); f.a = 1; f.b = 2; dict = new Dictionary <object, object>(); obj = LogicSharp.Reify_Object(f, dict); Assert.True(obj == f); }