public void CtorTest() { var instance = DynamicFactory.CreateInstance <CtorClass>(1); Assert.Equal(1, instance.X); instance = DynamicFactory.CreateInstance <CtorClass>(1, 2); Assert.Equal(2, instance.Y); instance = DynamicFactory.CreateInstance <CtorClass>(1, 2, 3); Assert.Equal(3, instance.Z); }
public void StructTest() { var box = DynamicFactory.CreateInstance(typeof(MyStruct)); DynamicInstance di = new DynamicInstance(box); di.Set("Field", 6); di.Set("Property", "AAA"); di.Set("ChildStruct", new ChildStruct() { Field = 12 }); var str = (MyStruct)box; Assert.Equal(6, str.Field); Assert.Equal("AAA", str.Property); Assert.Equal(12, str.ChildStruct.Field); di = new DynamicInstance(str); Assert.Equal(6, di.Get("Field")); Assert.Equal("AAA", di.Get("Property")); Assert.Equal(12, ((ChildStruct)di.Get("ChildStruct")).Field); }