예제 #1
0
        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");
        }
예제 #2
0
        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);
        }
예제 #3
0
 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);
 }