Exemple #1
0
        public void ValidateWithGuidAttributeShouldReturnType()
        {
            var expected = typeof(B);
            var actual   = SerializableTypeDrawer.Validate(expected.GUID.ToString(), new GUIContent());

            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
        public void ValidateWithMissingGuidAttributeShouldReturnType()
        {
            var expected = typeof(A);
            var actual   = SerializableTypeDrawer.Validate(expected.AssemblyQualifiedName, new GUIContent());

            Assert.AreEqual(expected, actual);
        }
Exemple #3
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);
        }
Exemple #4
0
        public void ValidateWithMissingGuidAttributeShouldSetWarning()
        {
            var expected   = EditorGUIUtility.IconContent("console.warnicon").image;
            var guiContent = new GUIContent();

            SerializableTypeDrawer.Validate(typeof(A).AssemblyQualifiedName, guiContent);
            var actual = guiContent.image;

            Assert.AreEqual(expected, actual);
        }
Exemple #5
0
        public void ValidateWithInvalidTypeIDShouldSetError()
        {
            var expected   = EditorGUIUtility.IconContent("console.erroricon").image;
            var guiContent = new GUIContent();

            SerializableTypeDrawer.Validate("invalid", guiContent);
            var actual = guiContent.image;

            Assert.AreEqual(expected, actual);
        }
Exemple #6
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);
        }
Exemple #7
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);
        }
Exemple #8
0
        public void SetTypeValueShouldReturnSameType(Type expected)
        {
            var property       = GetProperty(nameof(NoTypeFilter));
            var typeIdProperty = property.FindPropertyRelative(TypeIdProperty);
            var setTypeValue   = SerializableTypeDrawer.SetTypeValue(typeIdProperty);

            setTypeValue(expected);
            var actual = SerializableTypeDrawer.Validate(typeIdProperty.stringValue, new GUIContent());

            Assert.AreEqual(expected, actual);
        }
Exemple #9
0
 public void IsMissingGuidAttributeShouldReturnFalseIfGuidAttributeDefined()
 {
     Assert.IsFalse(SerializableTypeDrawer.IsMissingGuidAttribute(typeof(B)));
 }
Exemple #10
0
 public void IsMissingGuidAttributeShouldReturnTrueIfNoGuidAttributeDefined()
 {
     Assert.IsTrue(SerializableTypeDrawer.IsMissingGuidAttribute(typeof(A)));
 }