예제 #1
0
        public void ShouldInvokeCreateMapForAllMapCreatorsWhenNoContainerExtensionHasBeenDeclared()
        {
            //Arrange
            var mapCreators = new List <IMapCreator> {
                A.Fake <IMapCreator>(), A.Fake <IMapCreator>()
            };

            A.CallTo(() => registrationHelper.GetInstancesOfTypesImplementing <IMapCreator>()).Returns(mapCreators);
            var mapperExtension = new AutoMapperExtension(registrationHelper);

            //Act
            mapperExtension.Run();

            //Assert
            A.CallTo(() => registrationHelper.GetInstancesOfTypesImplementing <IMapCreator>()).MustHaveHappened();
            mapCreators.ForEach(m => A.CallTo(() => m.CreateMap(A <IProfileExpression> .Ignored)).MustHaveHappened());
        }
예제 #2
0
        public void ShouldInvokeConfigureForAllProfilesWhenNoContainerExtensionHasBeenDeclared()
        {
            //Arrange
            var profiles = new List <BsonClassMap> {
                new TestMongoClassMap()
            };

            A.CallTo(() => registrationHelper.GetInstancesOfTypesImplementing <BsonClassMap>()).Returns(profiles);
            var mapperExtension = new MongoExtension(registrationHelper);

            //Act
            mapperExtension.Run();

            //Assert
            A.CallTo(() => registrationHelper.GetInstancesOfTypesImplementing <BsonClassMap>()).MustHaveHappened();
            Assert.IsTrue(BsonClassMap.IsClassMapRegistered(typeof(TestMongo)));
        }
예제 #3
0
        public void Run()
        {
            var profiles = Bootstrap.Bootstrapper.ContainerExtension != null && Bootstrap.Bootstrapper.Container != null
                ? Bootstrap.Bootstrapper.ContainerExtension.ResolveAll <BsonClassMap>().ToList()
                : registrationHelper.GetInstancesOfTypesImplementing <BsonClassMap>();

            profiles
            .Where(b => !BsonClassMap.IsClassMapRegistered(b.ClassType))
            .ForEach(BsonClassMap.RegisterClassMap);
        }
예제 #4
0
        public void Run()
        {
            List <IMapCreator> mapCreators;
            List <Profile>     profiles;

            if (Bootstrapper.ContainerExtension != null && Bootstrapper.Container != null)
            {
                mapCreators = Bootstrapper.ContainerExtension.ResolveAll <IMapCreator>().ToList();
                profiles    = Bootstrapper.ContainerExtension.ResolveAll <Profile>().ToList();
            }
            else
            {
                mapCreators = registrationHelper.GetInstancesOfTypesImplementing <IMapCreator>();
                profiles    = registrationHelper.GetInstancesOfTypesImplementing <Profile>();
            }
            Mapper.Initialize(c =>
            {
                profiles.ForEach(c.AddProfile);
                mapCreators.ForEach(m => m.CreateMap(c));
            });
        }
예제 #5
0
        private List <IStartupTask> GetTasks()
        {
            List <IStartupTask> tasks;

            if (Bootstrapper.ContainerExtension != null && Bootstrapper.Container != null)
            {
                tasks = Bootstrapper.ContainerExtension.ResolveAll <IStartupTask>().OrderBy(t => t.GetType().Name).ToList();
            }
            else
            {
                tasks = Registrator.GetInstancesOfTypesImplementing <IStartupTask>().OrderBy(t => t.GetType().Name).ToList();
            }
            return(tasks);
        }
예제 #6
0
        public void ShouldReturnInstancesOfAType()
        {
            //Arrange
            Bootstrapper.ClearExtensions();

            //Act
            var result = registrationHelper.GetInstancesOfTypesImplementing <IBootstrapperAssemblyProvider>();

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(List <IBootstrapperAssemblyProvider>));
            Assert.IsTrue(result.Count > 0);
            Assert.IsTrue(result.Any(c => c is LoadedAssemblyProvider));
            Assert.IsTrue(result.Any(c => c is ReferencedAssemblyProvider));
        }
 public void Initialize()
 {
     Bootstrapper.ClearExtensions();
     registrationHelper = A.Fake <IRegistrationHelper>();
     A.CallTo(() => registrationHelper.GetInstancesOfTypesImplementing <IStartupTask>())
     .Returns(new List <IStartupTask>
     {
         new TaskAlpha(),
         new TaskBeta(),
         new TaskGamma(),
         new TaskOmega(),
         new TestStartupTask(),
         new InternalTestStartupTask()
     });
 }
예제 #8
0
        public void Run_WhenInvoked_ShouldInvokeTheRegisterMethodOfAllIBootstrapperRegistrationTypes()
        {
            //Arrange
            var assembly = Assembly.GetAssembly(typeof(AutoMapperRegistration));

            A.CallTo(() => registrationHelper.GetAssemblies()).Returns(new List <Assembly> {
                assembly
            });
            A.CallTo(() => registrationHelper.GetTypesImplementing <IBootstrapperRegistration>(assembly))
            .Returns(new List <Type> {
                typeof(AutoMapperRegistration)
            });
            A.CallTo(() => registrationHelper.GetInstancesOfTypesImplementing <IBootstrapperRegistration>())
            .Returns(new List <IBootstrapperRegistration> {
                new AutoMapperRegistration()
            });
            var containerExtension = new SimpleInjectorExtension(registrationHelper, options);

            //Act
            containerExtension.Run();

            //Assert
            Assert.IsNotNull(containerExtension.Resolve <IProfileExpression>());
        }