public void AssertOperation <T>( ObjectValueNode value, FilterKind kind, FilterOperationKind operationKind, FilterOperationHandler handler) { FilterInputType <T> fooType = CreateType(new FilterInputType <T>()); var helper = ExpressionVisitorMock.Create(handler); FilterExpressionVisitorDefinition convention = new MockFilterConvention( x => x.UseDefault() .UseExpressionVisitor() .UseDefault() .Kind(kind) .Operation(operationKind) .Handler(helper.FilterOperationHandler)) .GetExpressionDefinition(); // act var filter = new QueryableFilterVisitorContext( fooType, typeof(T), convention, TypeConversion.Default, true); QueryableFilterVisitor.Default.Visit(value, filter); Func <T, bool> func = filter.CreateOrAssert <T>().Compile(); // assert Assert.Equal(1, helper.CallCount(handler)); }
public static ExpressionVisitorMock Create(FilterOperationHandler handler) => new ExpressionVisitorMock().Setup(handler);
public int CallCount(FilterOperationHandler _) => filterOperationCallCounter;
public ExpressionVisitorMock Setup(FilterOperationHandler handler) { filterOperationCallCounter = 0; filterOperationHandler = handler; return(this); }
public IFilterExpressionOperationDescriptor Handler(FilterOperationHandler handler) { Definition.Handler = handler; return(this); }