public void FiltersChanged_Should_Notify_Correct_Filter_Factories_When_Remove() { // Act var rebuilded = false; var options = new MariCommandsOptions(); var filter = new TypeCommandFilterFactory(typeof(TestResultFilter)); options.Filters.Add(filter); var filterFactoryMock = new Mock <IFilterFactory>(); filterFactoryMock.Setup(a => a.CanInvoke(typeof(TestResultFilter))).Returns(true); filterFactoryMock.Setup(a => a.FiltersDefinitionWasChanged(options.Filters)).Callback <IEnumerable <ICommandFilter> >(filters => { rebuilded = filters.Equals(options.Filters); }); var filterFactory = filterFactoryMock.Object; var filtersFactories = new List <IFilterFactory> { filterFactory, }; var filterProvider = new FilterProvider(filtersFactories, options); // Arrange options.Filters.Remove(filter); // Assert Assert.True(rebuilded); }
public void Add_Should_Add_TypeCommandFilterFactory_Of_Specified_Type(Type filterType) { // Act var collection = new CommandFilterCollection(); var expectedFilter = new TypeCommandFilterFactory(filterType); // Arrange var filter = collection.Add(filterType, 0); // Assert Assert.NotNull(filter); Assert.NotEmpty(collection); Assert.Contains(filter, collection); Assert.IsType(expectedFilter.GetType(), filter); }
public void CreateInstance_Should_Create_Filter_Instance_With_FilterFactory() { // Act var provider = new ServiceCollection() .AddSingleton <SomeDependencyTest>() .BuildServiceProvider(true); var factory = new TypeCommandFilterFactory(typeof(TestFilterFactory)); // Arrange var instance = factory.CreateInstance(provider); // Assert Assert.NotNull(instance); Assert.IsType <TestFilter>(instance); }