Ejemplo n.º 1
0
        public void ConfigureThrowsExceptionWithNullConfiguration()
        {
            var sut = new DefaultConfigurationModule();

            Action action = () => sut.Configure(null !);

            action.Should().Throw <ArgumentNullException>();
        }
Ejemplo n.º 2
0
        public void ConfigureDoesNotIncludeMailinatorEmailValueGenerator()
        {
            var configuration = new BuildConfiguration();

            var sut = new DefaultConfigurationModule();

            sut.Configure(configuration);

            configuration.ValueGenerators.Should()
            .NotContain(x => x.GetType() == typeof(MailinatorEmailValueGenerator));
        }
Ejemplo n.º 3
0
        public void OrderOfValueGenerators()
        {
            var configuration = new BuildConfiguration();

            var sut = new DefaultConfigurationModule();

            sut.Configure(configuration);

            var items = configuration.ValueGenerators.OrderByDescending(x => x.Priority);

            _output.WriteLine("ValueGenerators are evaluated in the following order");

            foreach (var item in items)
            {
                _output.WriteLine("{0} - {1}", item.Priority, item.GetType().Name);
            }
        }
Ejemplo n.º 4
0
        public void OrderOfExecuteOrderRules()
        {
            var configuration = new BuildConfiguration();

            var sut = new DefaultConfigurationModule();

            sut.Configure(configuration);

            var items = configuration.ExecuteOrderRules.OrderByDescending(x => x.Priority);

            _output.WriteLine("ExecuteOrderRules are evaluated in the following order");

            foreach (var item in items)
            {
                _output.WriteLine("{0} - {1}", item.Priority, item);
            }
        }
Ejemplo n.º 5
0
        public void ConfigureIncludesAllAvailableValueGeneratorsExceptMailinator()
        {
            var types = from x in typeof(DefaultConfigurationModule).GetTypeInfo().Assembly.GetTypes()
                        where typeof(IValueGenerator).IsAssignableFrom(x) && x.GetTypeInfo().IsAbstract == false &&
                        x.GetTypeInfo().IsInterface == false && x != typeof(MailinatorEmailValueGenerator)
                        select x;

            var configuration = new BuildConfiguration();

            var sut = new DefaultConfigurationModule();

            sut.Configure(configuration);

            foreach (var type in types)
            {
                configuration.ValueGenerators.Should().Contain(x => x.GetType() == type);
            }
        }
Ejemplo n.º 6
0
        public void ConfigureAssignsDefaultConfiguration()
        {
            var configuration = new BuildConfiguration();

            var sut = new DefaultConfigurationModule();

            sut.Configure(configuration);

            configuration.IgnoreRules.Should().BeEmpty();
            configuration.ConstructorResolver.Should().BeOfType <DefaultConstructorResolver>();
            configuration.ConstructorResolver.As <DefaultConstructorResolver>().CacheLevel.Should().Be(CacheLevel.Global);
            configuration.PropertyResolver.Should().BeOfType <DefaultPropertyResolver>();
            configuration.PropertyResolver.As <DefaultPropertyResolver>().CacheLevel.Should().Be(CacheLevel.Global);
            configuration.CreationRules.Should().BeEmpty();
            configuration.TypeMappingRules.Should().BeEmpty();
            configuration.TypeCreators.Should().NotBeEmpty();
            configuration.ValueGenerators.Should().NotBeEmpty();
            configuration.ExecuteOrderRules.Should().NotBeEmpty();
            configuration.PostBuildActions.Should().BeEmpty();
        }
Ejemplo n.º 7
0
        public void DefaultExecuteOrderRulesReturnsExecutableRules()
        {
            var configuration = new BuildConfiguration();

            var sut = new DefaultConfigurationModule();

            sut.Configure(configuration);

            var rules = configuration.ExecuteOrderRules;

            rules.Should().NotBeEmpty();

            foreach (var rule in rules)
            {
                var property = typeof(Person).GetProperty(nameof(Person.FirstName)) !;

                Action action = () => rule.IsMatch(property);

                action.Should().NotThrow();
            }
        }