protected ValidatePageTypePropertyType ( |
||
propertyInfo | ||
리턴 | void |
public void GivenAttributeWithMappableTypeSpecified_ValidatePageTypePropertyType_DoesNotThrowException() { PropertyInfo propertyInfo = typeof(TestPageType).GetProperty("PropertyWithValidTypeSpecified"); PageTypePropertyAttribute attribute = propertyInfo.GetCustomAttributes<PageTypePropertyAttribute>().First(); MockRepository fakes = new MockRepository(); PageDefinitionTypeRepository pageDefinitionTypeRepository = fakes.Stub<PageDefinitionTypeRepository>(); pageDefinitionTypeRepository.Stub(factory => factory.GetPageDefinitionType("EPiServer.SpecializedProperties.PropertyXhtmlString", "EPiServer")).Return(new PageDefinitionType()); pageDefinitionTypeRepository.Replay(); PageTypeDefinitionPropertiesValidator propertiesValidator = new PageTypeDefinitionPropertiesValidator(new PageDefinitionTypeMapper(pageDefinitionTypeRepository, new NativePageDefinitionsMap())); Exception exception = Record.Exception(() => { propertiesValidator.ValidatePageTypePropertyType(propertyInfo); }); Assert.Null(exception); }
public void GivenAttributeWithMappableTypeAndUnmappableTypeSpecified_ValidatePageTypePropertyType_ThrowsException() { PropertyInfo propertyInfo = typeof(TestPageType).GetProperty("PropertyWithInvalidTypeSpecified"); PageTypePropertyAttribute attribute = propertyInfo.GetCustomAttributes<PageTypePropertyAttribute>().First(); MockRepository fakes = new MockRepository(); PageDefinitionTypeRepository pageDefinitionTypeRepository = fakes.Stub<PageDefinitionTypeRepository>(); pageDefinitionTypeRepository.Stub(factory => factory.GetPageDefinitionType("System.Text.StringBuilder", "mscorlib")).Return(null); pageDefinitionTypeRepository.Replay(); PageTypeDefinitionPropertiesValidator propertiesValidator = new PageTypeDefinitionPropertiesValidator(new PageDefinitionTypeMapper(pageDefinitionTypeRepository, new NativePageDefinitionsMap())); Exception exception = Record.Exception(() => { propertiesValidator.ValidatePageTypePropertyType(propertyInfo); }); Assert.NotNull(exception); Assert.Equal<Type>(typeof(UnmappablePropertyTypeException), exception.GetType()); }
public void GivenAttributeWithNoTypeSpecifiedAndOfUnmappableType_ValidatePageTypePropertyType_ThrowsException() { PropertyInfo propertyInfo = typeof(TestPageType).GetProperty("PropertyWithInvalidTypeAndNoTypeSpecified"); PageTypePropertyAttribute attribute = propertyInfo.GetCustomAttributes<PageTypePropertyAttribute>().First(); PageTypeDefinitionPropertiesValidator propertiesValidator = new PageTypeDefinitionPropertiesValidator(new PageDefinitionTypeMapper(null, new NativePageDefinitionsMap())); Exception exception = Record.Exception(() => { propertiesValidator.ValidatePageTypePropertyType(propertyInfo); }); Assert.NotNull(exception); Assert.Equal<Type>(typeof(UnmappablePropertyTypeException), exception.GetType()); }