public void TypeParameterOfEnumTypeIsNotEnumShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); // Act & Assert Assert.ThrowsArgument( () => builder.EnumType <ComplexTypeWithEnumTypePropertyTestModel>(), "type", "The type 'System.Web.OData.Builder.ComplexTypeWithEnumTypePropertyTestModel' cannot be configured as an enum type."); }
public void PassNullToEnumTypeConfigurationRemoveMemberShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); builder.EnumType <Color>(); EnumTypeConfiguration enumTypeConfiguration = builder.EnumTypes.Single(); // Act & Assert Assert.ThrowsArgumentNull( () => enumTypeConfiguration.RemoveMember(null), "member"); }
public void PassNullToEnumTypeConfigurationNameSetterShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); builder.EnumType <Color>(); EnumTypeConfiguration enumTypeConfiguration = builder.EnumTypes.Single(); // Act & Assert Assert.ThrowsArgumentNull( () => enumTypeConfiguration.Name = null, "value"); }
public void PassNullMemberParameterToEnumMemberConfigurationConstructorShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); builder.EnumType <Color>(); EnumTypeConfiguration declaringType = builder.EnumTypes.Single(); // Act & Assert Assert.ThrowsArgumentNull( () => new EnumMemberConfiguration(null, declaringType), "member"); }
public void RemoveWrongEnumTypeMemberFromConfigurationShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); builder.EnumType <Color>(); EnumTypeConfiguration enumTypeConfiguration = builder.EnumTypes.Single(); // Act & Assert Assert.ThrowsArgument( () => enumTypeConfiguration.RemoveMember(SimpleEnum.First), "member", "The property 'First' does not belong to the type 'System.Web.OData.Builder.TestModels.Color'."); }
public void ValueOfEnumMemberCannotBeConvertedToLongShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); var color = builder.EnumType <ValueOutOfRangeEnum>(); color.Member(ValueOutOfRangeEnum.Member); // Act & Assert Assert.ThrowsArgument( () => builder.GetServiceModel(), "value", "The value of enum member 'Member' cannot be converted to a long type."); }
public void PassNullToEnumMemberConfigurationNameSetterShouldThrowException() { // Arrange Enum member = Color.Red; var builder = new ODataModelBuilder(); builder.EnumType <Color>(); EnumTypeConfiguration declaringType = builder.EnumTypes.Single(); var enumMemberConfiguration = new EnumMemberConfiguration(member, declaringType); // Act & Assert Assert.ThrowsArgumentNull( () => enumMemberConfiguration.Name = null, "value"); }
public void AddAndRemoveEnumMemberFromEnumType() { // Arrange var builder = new ODataModelBuilder(); var color = builder.EnumType <Color>(); // Act & Assert Assert.Equal(0, color.Members.Count()); color.Member(Color.Red); color.Member(Color.Green); Assert.Equal(2, color.Members.Count()); color.RemoveMember(Color.Red); Assert.Equal(1, color.Members.Count()); }
public void CreateEnumTypeWithoutFlags() { // Arrange var builder = new ODataModelBuilder(); var simple = builder.EnumType <SimpleEnum>(); simple.Member(SimpleEnum.First); simple.Member(SimpleEnum.Second); simple.Member(SimpleEnum.Third); // Act var model = builder.GetEdmModel(); var colorType = model.SchemaElements.OfType <IEdmEnumType>().Single(); // Assert Assert.False(colorType.IsFlags); }
public void PamameterOfEnumPropertyIsNotEnumShouldThrowException() { // Arrange var builder = new ODataModelBuilder(); var color = builder.EnumType <Color>(); color.Member(Color.Red); color.Member(Color.Green); color.Member(Color.Blue); var entityTypeConfiguration = builder.ComplexType <EntityTypeWithEnumTypePropertyTestModel>(); // Act & Assert Assert.ThrowsArgument( () => entityTypeConfiguration.EnumProperty(e => e.ID), "propertyInfo", "The property 'ID' on type 'System.Web.OData.Builder.EntityTypeWithEnumTypePropertyTestModel' must be an Enum property."); }
public void NonbindingParameterConfigurationSupportsParameterCollectionTypeAs(Type type, bool isNullable) { // Arrange ODataModelBuilder builder = new ODataModelBuilder(); builder.EntityType <Customer>(); builder.ComplexType <Address>(); builder.EnumType <Color>(); Type elementType; Assert.True(type.IsCollection(out elementType)); // Act Type underlyingType = TypeHelper.GetUnderlyingTypeOrSelf(elementType); IEdmTypeConfiguration elementTypeConfiguration = builder.GetTypeConfigurationOrNull(underlyingType); CollectionTypeConfiguration collectionType = new CollectionTypeConfiguration(elementTypeConfiguration, typeof(IEnumerable <>).MakeGenericType(elementType)); NonbindingParameterConfiguration parameter = new NonbindingParameterConfiguration("name", collectionType); // Assert Assert.Equal(isNullable, parameter.OptionalParameter); }