Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 3
0
        /// <inheritdoc/>
        public IComparableFilterOperationDescriptor AllowNotLowerThanOrEquals()
        {
            ComparableFilterOperationDescriptor field =
                GetOrCreateOperation(FilterOperationKind.NotLowerThanOrEquals);

            Filters.Add(field);
            return(field);
        }
Ejemplo n.º 4
0
        /// <inheritdoc/>
        public IComparableFilterOperationDescriptor AllowLowerThan()
        {
            ComparableFilterOperationDescriptor field =
                GetOrCreateOperation(FilterOperationKind.LowerThan);

            Filters.Add(field);
            return(field);
        }
Ejemplo n.º 5
0
        public IComparableFilterOperationDescriptor AllowGreaterThanOrEquals()
        {
            ComparableFilterOperationDescriptor field =
                CreateOperation(FilterOperationKind.GreaterThanOrEqual);

            Filters.Add(field);
            return(field);
        }
Ejemplo n.º 6
0
        public IComparableFilterOperationDescriptor AllowNotIn()
        {
            ComparableFilterOperationDescriptor field =
                CreateOperation(FilterOperationKind.NotIn);

            Filters.Add(field);
            return(field);
        }
Ejemplo n.º 7
0
        private ComparableFilterOperationDescriptor CreateOperation(
            FilterOperationKind operationKind)
        {
            var operation = new FilterOperation(
                typeof(IComparable),
                operationKind,
                Definition.Property);

            return(ComparableFilterOperationDescriptor.New(
                       Context,
                       this,
                       CreateFieldName(operationKind),
                       RewriteType(operationKind),
                       operation));
        }
Ejemplo n.º 8
0
        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));
        }