public void Create_IfPropertyIsStatic_Throws() { // Arrange PropertyInfo property = typeof(PocoStruct).GetProperty("StaticValue"); // Act & Assert ExceptionAssert.ThrowsArgument(() => StructPropertyGetter <PocoStruct, PocoProperty> .Create(property), "property", "The property must not be static."); }
public void Create_IfPropertyIsWriteOnly_Throws() { // Arrange PropertyInfo property = typeof(PocoStruct).GetProperty("WriteOnlyValue"); // Act & Assert ExceptionAssert.ThrowsArgument(() => StructPropertyGetter <PocoStruct, PocoProperty> .Create(property), "property", "The property must be readable."); }
public void Create_IfPropertyHasIndexParameters_Throws() { // Arrange PropertyInfo property = typeof(PocoStruct).GetProperty("Item"); // Act & Assert ExceptionAssert.ThrowsArgument(() => StructPropertyGetter <PocoStruct, PocoProperty> .Create(property), "property", "The property must not have index parameters."); }
public void Create_IfPropertyTypeMismatchesEvenIfChildType_Throws() { // Arrange PropertyInfo property = typeof(PocoStruct).GetProperty("Value"); // Act & Assert ExceptionAssert.ThrowsArgument(() => StructPropertyGetter <PocoStruct, PocoPropertyChild> .Create(property), "property", "The property's PropertyType must exactly match TProperty."); }
public void Create_IfReflectedTypeMismatches_Throws() { // Arrange PropertyInfo property = typeof(PocoStruct).GetProperty("Value"); // Act & Assert ExceptionAssert.ThrowsArgument(() => StructPropertyGetter <int, PocoProperty> .Create(property), "property", "The property's ReflectedType must exactly match TReflected."); }
public void Create_IfPropertyIsNull_Throws() { // Arrange PropertyInfo property = null; // Act & Assert ExceptionAssert.ThrowsArgumentNull(() => StructPropertyGetter <PocoStruct, PocoProperty> .Create(property), "property"); }
private static StructPropertyGetter <TReflected, TProperty> CreateProductUnderTest <TReflected, TProperty>( PropertyInfo property) where TReflected : struct { StructPropertyGetter <TReflected, TProperty> product = StructPropertyGetter <TReflected, TProperty> .Create(property); Assert.NotNull(product); // Guard return(product); }
public void Create_ReturnsInstance() { // Arrange PropertyInfo property = typeof(PocoStruct).GetProperty("Value"); // Act IPropertyGetter <PocoStruct, PocoProperty> getter = StructPropertyGetter <PocoStruct, PocoProperty> .Create( property); // Assert Assert.NotNull(getter); }