private ComparableFilterOperationDescriptor CreateComparableOperation( FilterOperationKind operationKind) { var descirptor = new ComparableFilterFieldDescriptor( _descriptorContext, _propertyInfo, _filterConvention); var typeReference = new ClrTypeReference(typeof(Foo), TypeContext.Input); var definition = new FilterOperationDefintion() { Name = "Foo", Type = typeReference, Operation = new FilterOperation(typeof(string), FilterKind.Boolean, operationKind, _propertyInfo), Property = _propertyInfo }; var operation = new FilterOperation( typeof(bool), FilterKind.Boolean, operationKind, definition.Property); return(ComparableFilterOperationDescriptor.New( _descriptorContext, descirptor, "Foo", typeReference, operation, _filterConvention)); }
private ComparableFilterOperationDescriptor CreateComparableOperation( FilterOperationKind operationKind) { var descirptor = new ComparableFilterFieldDescriptor( _descriptorContext, _propertyInfo); ExtendedTypeReference typeReference = _descriptorContext.TypeInspector.GetTypeRef( typeof(Foo), TypeContext.Input); var definition = new FilterOperationDefintion() { Name = "Foo", Type = typeReference, Operation = new FilterOperation(typeof(string), operationKind, _propertyInfo), Property = _propertyInfo }; var operation = new FilterOperation( typeof(bool), operationKind, definition.Property); return(ComparableFilterOperationDescriptor.New( _descriptorContext, descirptor, "Foo", typeReference, operation)); }
/// <inheritdoc/> public IComparableFilterOperationDescriptor AllowNotLowerThanOrEquals() { ComparableFilterOperationDescriptor field = GetOrCreateOperation(FilterOperationKind.NotLowerThanOrEquals); Filters.Add(field); return(field); }
/// <inheritdoc/> public IComparableFilterOperationDescriptor AllowLowerThan() { ComparableFilterOperationDescriptor field = GetOrCreateOperation(FilterOperationKind.LowerThan); Filters.Add(field); return(field); }
public IComparableFilterOperationDescriptor AllowGreaterThanOrEquals() { ComparableFilterOperationDescriptor field = CreateOperation(FilterOperationKind.GreaterThanOrEqual); Filters.Add(field); return(field); }
public IComparableFilterOperationDescriptor AllowNotIn() { ComparableFilterOperationDescriptor field = CreateOperation(FilterOperationKind.NotIn); Filters.Add(field); return(field); }
private ComparableFilterOperationDescriptor CreateOperation( FilterOperationKind operationKind) { var operation = new FilterOperation( typeof(IComparable), operationKind, Definition.Property); return(ComparableFilterOperationDescriptor.New( Context, this, CreateFieldName(operationKind), RewriteType(operationKind), operation)); }
public void GetOrAddOperation_Throws_ExceptionIfExistingDescriptorIsOfDifferentType() { //arrange IList <FilterOperationDescriptorBase> list = new List <FilterOperationDescriptorBase>(); BooleanFilterOperationDescriptor descriptorShouldNotBeRemoved = CreateOperation(FilterOperationKind.Equals); ComparableFilterOperationDescriptor newDescriptorShouldThrowException = CreateComparableOperation(FilterOperationKind.Equals); Func <ComparableFilterOperationDescriptor> valueFactory = () => newDescriptorShouldThrowException; list.Add(descriptorShouldNotBeRemoved); //act //assert Assert.Throws <SchemaException>(() => list.GetOrAddOperation(FilterOperationKind.Equals, valueFactory)); }