public void Constructor_WhenInvoked_ShouldReturnBootstraperOption()
        {
            //Act
            var result = new BootstrapperOption();

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(IBootstrapperOption));
            Assert.IsInstanceOfType(result, typeof(BootstrapperOption));
        }
        public void Excluding_WhenInvoked_ShouldInvokeExcludingInBootstrapper()
        {
            //Arrange
            opt = new BootstrapperOption();

            //Act
            opt.Excluding.Assembly("test");

            //Assert
            Assert.IsTrue(Bootstrapper.Excluding.Assemblies.Contains("test"));
        }
        public void IncludingOnly_WhenInvoked_ShouldInvokeIncludingOnlyInBootstrapper()
        {
            //Arrange
            opt = new BootstrapperOption();
            var assembly = Assembly.GetExecutingAssembly();

            //Act
            opt.IncludingOnly.Assembly(assembly);

            //Assert
            Assert.IsTrue(Bootstrapper.IncludingOnly.Assemblies.Contains(assembly));
        }
        public void With_WhenInvoked_ShouldInvokeWithInBootstrapper()
        {
            //Arrange
            opt = new BootstrapperOption();
            var extension = A.Fake <IBootstrapperExtension>();

            //Act
            opt.With.Extension(extension);

            //Assert
            Assert.IsTrue(Bootstrapper.GetExtensions().Contains(extension));
        }
        public void Start_WhenInvoked_ShouldInvokeStartInBootstrapper()
        {
            //Arrange
            var extension = A.Fake <IBootstrapperExtension>();

            opt = new BootstrapperOption();

            //Act
            opt.With.Extension(extension).Start();

            //Assert
            A.CallTo(() => extension.Run()).MustHaveHappened();
        }
        public void LookForTypesIn_WhenInvoked_ShouldInvokeLookForTypesInInBootstrapper()
        {
            //Arrange
            opt = new BootstrapperOption();

            //Act
            opt.LookForTypesIn.ReferencedAssemblies();

            //Assert
            var registrationHelper = Bootstrapper.RegistrationHelper as RegistrationHelper;

            Assert.IsNotNull(registrationHelper);
            Assert.IsTrue(registrationHelper.AssemblyProvider is ReferencedAssemblyProvider);
        }