コード例 #1
0
        public void GetFilteredTypesShouldReturnAllBasicTypesWithNoFilter()
        {
            var expected = new HashSet <Type>(SerializableTypeDrawer.GetDerivedTypes(null));
            var property = GetProperty(nameof(NoTypeFilter));
            var actual   = new HashSet <Type>(SerializableTypeDrawer.GetFilteredTypes(property, null));

            Assert.AreEqual(expected, actual);
        }
コード例 #2
0
        public void GetFilteredTypesWithNullFilterDelegateShouldReturnTypesMatchingDelegate()
        {
            var expected  = new HashSet <Type>(NullFilter(SerializableTypeDrawer.GetDerivedTypes(null)) ?? new Type[0]);
            var field     = GetFieldInfo <SerializableTypeDrawerTest>(x => x.NullTypeFilter);
            var attribute = (TypeFilterAttribute)Attribute.GetCustomAttribute(field, typeof(TypeFilterAttribute));
            var property  = GetProperty(nameof(NullTypeFilter));
            var actual    = new HashSet <Type>(SerializableTypeDrawer.GetFilteredTypes(property, attribute));

            Assert.AreEqual(expected, actual);
        }
コード例 #3
0
        public void GetFilteredTypesWithDerivedFromAttributeShouldReturnOnlyTypesDerivedFromDeclaredType()
        {
            var expected  = new HashSet <Type>(SerializableTypeDrawer.GetDerivedTypes(typeof(A)));
            var field     = GetFieldInfo <SerializableTypeDrawerTest>(x => x.DerivedFromTypeFilter);
            var attribute = (TypeFilterAttribute)Attribute.GetCustomAttribute(field, typeof(TypeFilterAttribute));
            var property  = GetProperty(nameof(DerivedFromTypeFilter));
            var actual    = new HashSet <Type>(SerializableTypeDrawer.GetFilteredTypes(property, attribute));

            Assert.AreEqual(expected, actual);
        }