public void GenericTypeGettingRequiredAttributeTest() { var type = typeof(NormalWithAttrClass); TypeReflections.GetAttributeRequired <ModelOneAttribute>(type).ShouldNotBeNull(); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired <ModelTwoAttribute>(type)); TypeReflections.GetAttributeRequired <ModelThreeAttribute>(type).ShouldNotBeNull(); }
public void DirectTypeGettingRequiredAttributeTest() { var type = typeof(NormalWithAttrClass); var one = typeof(ModelOneAttribute); var two = typeof(ModelTwoAttribute); var three = typeof(ModelThreeAttribute); TypeReflections.GetAttributeRequired(type, one).ShouldNotBeNull(); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired(type, two).ShouldBeNull()); TypeReflections.GetAttributeRequired(type, three).ShouldNotBeNull(); }
public void GenericTypeGettingRequiredAttributeInheritTest() { var type = typeof(NormalWithAttrClassWrapper2); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired <ModelOneAttribute>(type)); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired <ModelTwoAttribute>(type)); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired <ModelThreeAttribute>(type)); Assert.Throws <AmbiguousMatchException>(() => TypeReflections.GetAttributeRequired <ModelOneAttribute>(type, ReflectionOptions.Inherit).ShouldNotBeNull()); TypeReflections.GetAttributeRequired <ModelOneAttribute>(type, ReflectionOptions.Inherit, ReflectionAmbiguousOptions.IgnoreAmbiguous).ShouldNotBeNull(); TypeReflections.GetAttributeRequired <ModelThreeAttribute>(type, ReflectionOptions.Inherit).ShouldNotBeNull(); TypeReflections.GetAttributeRequired <ModelFourAttribute>(type).ShouldNotBeNull(); }
public void DirectTypeGettingRequiredAttributeInheritTest() { var type = typeof(NormalWithAttrClassWrapper2); var one = typeof(ModelOneAttribute); var two = typeof(ModelTwoAttribute); var three = typeof(ModelThreeAttribute); var four = typeof(ModelFourAttribute); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired(type, one)); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired(type, two).ShouldBeNull()); Assert.Throws <ArgumentException>(() => TypeReflections.GetAttributeRequired(type, three).ShouldBeNull()); Assert.Throws <AmbiguousMatchException>(() => TypeReflections.GetAttributeRequired(type, one, ReflectionOptions.Inherit)); TypeReflections.GetAttributeRequired(type, one, ReflectionOptions.Inherit, ReflectionAmbiguousOptions.IgnoreAmbiguous).ShouldNotBeNull(); TypeReflections.GetAttributeRequired(type, three, ReflectionOptions.Inherit).ShouldNotBeNull(); TypeReflections.GetAttributeRequired(type, four).ShouldNotBeNull(); }