Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }