Пример #1
0
        public void Run_WhenInvoked_ShouldRegisterAllTypesOfIBootstrapperRegistration()
        {
            //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)
            });
            var containerExtension = new SimpleInjectorExtension(registrationHelper, options);

            //Act
            containerExtension.Run();
            var result = containerExtension.ResolveAll <IBootstrapperRegistration>();

            //Assert
            A.CallTo(() => registrationHelper.GetAssemblies()).MustHaveHappened();
            A.CallTo(() => registrationHelper.GetTypesImplementing <IBootstrapperRegistration>(assembly)).MustHaveHappened();
            Assert.IsInstanceOfType(result, typeof(IEnumerable <IBootstrapperRegistration>));
            Assert.IsTrue(result.Any());
            Assert.IsInstanceOfType(result.First(), typeof(AutoMapperRegistration));
        }
Пример #2
0
        public void ResolveAll_WhenInvokedAndContainerIsNotInitialized_ShouldThrowException()
        {
            //Arrange
            var containerExtension = new SimpleInjectorExtension(registrationHelper, options);

            //Act
            var result = ExceptionAssert.Throws <NoContainerException>(() => containerExtension.ResolveAll <object>());

            //Assert
            Assert.AreEqual(NoContainerException.DefaultMessage, result.Message);
        }
Пример #3
0
        public void ResolveAll_WhenInvokedWithAGenericType_ShouldReturnAListOfInstances()
        {
            //Arrange
            var containerExtension = new SimpleInjectorExtension(registrationHelper, options);
            var container          = new Container();
            var instances          = new IBootstrapperExtension[] { new StartupTasksExtension(A.Fake <IRegistrationHelper>()), new ServiceLocatorExtension() };

            container.RegisterCollection(instances);
            containerExtension.InitializeContainer(container);

            //Act
            var result = containerExtension.ResolveAll <IBootstrapperExtension>();

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(instances.Count(), result.Count);
            Assert.IsTrue(instances.SequenceEqual(result));
        }