public void FilterImplementingMultipleType_WhereOneTypeIsOverridden_AppearsOnlyInTheOtherList() { // Arrange object expectedInstance = new ActionAndExceptionFilter(); Filter actionAndExceptionFilter = CreateFilter(expectedInstance, FilterScope.Global); Filter overrideExceptionFilter = CreateFilter( CreateOverride(typeof(IExceptionFilter)), FilterScope.Action ); IEnumerable <Filter> filters = new Filter[] { actionAndExceptionFilter, overrideExceptionFilter }; FilterInfo product = CreateProductUnderTest(filters); // Act IList <IActionFilter> actionFilters = product.ActionFilters; IList <IExceptionFilter> exceptionFilters = product.ExceptionFilters; // Assert Assert.NotNull(actionFilters); Assert.Equal(1, actionFilters.Count); Assert.Same(expectedInstance, actionFilters[0]); Assert.NotNull(exceptionFilters); Assert.Equal(0, exceptionFilters.Count); }
public void FilterImplementingMultipleType_WhereOneTypeIsOverridden_AppearsOnlyInTheOtherList() { // Arrange IFilter expectedInstance = new ActionAndExceptionFilter(); FilterInfo actionAndExceptionFilter = new FilterInfo( expectedInstance, FilterScope.Global ); FilterInfo overrideExceptionFilter = new FilterInfo( CreateOverride(typeof(IExceptionFilter)), FilterScope.Action ); IEnumerable <FilterInfo> filters = new FilterInfo[] { actionAndExceptionFilter, overrideExceptionFilter }; FilterGrouping product = CreateProductUnderTest(filters); // Act IActionFilter[] actionFilters = product.ActionFilters; IExceptionFilter[] exceptionFilters = product.ExceptionFilters; // Assert Assert.NotNull(actionFilters); IActionFilter actionFilter = Assert.Single(actionFilters); Assert.Same(expectedInstance, actionFilter); Assert.NotNull(exceptionFilters); Assert.Empty(exceptionFilters); }
public void FilterImplementingMultipleType_WhereOneTypeIsOverridden_AppearsOnlyInTheOtherList() { // Arrange object expectedInstance = new ActionAndExceptionFilter(); Filter actionAndExceptionFilter = CreateFilter(expectedInstance, FilterScope.Global); Filter overrideExceptionFilter = CreateFilter(CreateOverride(typeof(IExceptionFilter)), FilterScope.Action); IEnumerable<Filter> filters = new Filter[] { actionAndExceptionFilter, overrideExceptionFilter }; FilterInfo product = CreateProductUnderTest(filters); // Act IList<IActionFilter> actionFilters = product.ActionFilters; IList<IExceptionFilter> exceptionFilters = product.ExceptionFilters; // Assert Assert.NotNull(actionFilters); Assert.Equal(1, actionFilters.Count); Assert.Same(expectedInstance, actionFilters[0]); Assert.NotNull(exceptionFilters); Assert.Equal(0, exceptionFilters.Count); }