public void ValidateWithGuidAttributeShouldReturnType() { var expected = typeof(B); var actual = SerializableTypeDrawer.Validate(expected.GUID.ToString(), new GUIContent()); Assert.AreEqual(expected, actual); }
public void ValidateWithMissingGuidAttributeShouldReturnType() { var expected = typeof(A); var actual = SerializableTypeDrawer.Validate(expected.AssemblyQualifiedName, new GUIContent()); Assert.AreEqual(expected, actual); }
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); }
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); }
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); }
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); }
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); }
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); }
public void IsMissingGuidAttributeShouldReturnFalseIfGuidAttributeDefined() { Assert.IsFalse(SerializableTypeDrawer.IsMissingGuidAttribute(typeof(B))); }
public void IsMissingGuidAttributeShouldReturnTrueIfNoGuidAttributeDefined() { Assert.IsTrue(SerializableTypeDrawer.IsMissingGuidAttribute(typeof(A))); }