public void TestGetFieldsByType() { var tc = new Data(); var fields = TypeUtils.GetMembersByType<FooBar>(tc); Assert.IsTrue(fields.Count == 2); // just foo and bar var fields2 = TypeUtils.GetMembersByType(typeof(FooBar), tc); Assert.IsTrue(fields2.Count == 2); // same var foofield = TypeUtils.GetMember(tc, "foo"); Assert.IsTrue(foofield != null && foofield.Name == "foo"); }
public void TestMakeAndRemoveFieldsByType() { var tc = new Data(); TypeUtils.MakeMemberInstances<FooBar>(tc); Assert.IsInstanceOfType(tc.foo, typeof(Foo)); Assert.IsInstanceOfType(tc.bar, typeof(Bar)); Assert.IsNull(tc.baz); tc.baz = new Baz(); TypeUtils.RemoveMemberInstances<FooBar>(tc); Assert.IsNull(tc.foo); Assert.IsNull(tc.bar); Assert.IsNotNull(tc.baz); }
public void TestSetValueByType() { var tc = new Data(); Assert.IsNull(tc.bar); TypeUtils.SetValueByType(tc, new Bar()); Assert.IsNotNull(tc.bar); Assert.IsNull(tc.foo); Assert.IsNull(tc.baz); }