Beispiel #1
0
        public void ShouldDoNothingOnCleanupIfInitializerInstanceIsNotSet()
        {
            InitializationActionExecutor executor = new InitializationActionExecutor();
            InitializationAction         action   = new InitializationAction("Action");

            executor.ExecuteCleanupForAction(action);
        }
Beispiel #2
0
        public void ShouldDoNothingOnCleanupIfInitializerInstanceCannotBeDisposed()
        {
            InitializationActionExecutor executor = new InitializationActionExecutor();
            InitializationAction         action   = new InitializationAction("Action")
            {
                State = new SimpleInitializer()
            };

            executor.ExecuteCleanupForAction(action);
        }
Beispiel #3
0
        public void ShouldThrowInvalidOperationExceptionIfThereIsNoConstructorThatMatchesArguments()
        {
            InitializationActionExecutor executor = new InitializationActionExecutor();
            InitializationAction         action   = new InitializationAction("Action")
            {
                State = new InitializationHandler(typeof(SimpleInitializer), new object[] { 1 })
            };

            Assert.ThrowsDelegate routine = () => executor.ExecuteInitializationForAction(action);

            Assert.Throws <InvalidOperationException>(routine);
        }
Beispiel #4
0
        public void ShouldThrowExceptionOnInitializationIfActionStateIsNotAnInitializationHandler()
        {
            InitializationActionExecutor executor             = new InitializationActionExecutor();
            InitializationAction         initializationAction = new InitializationAction("System.String,mscorlib")
            {
                State = "a"
            };

            Assert.ThrowsDelegate action = () => executor.ExecuteInitializationForAction(initializationAction);

            Assert.Throws <ArgumentException>(action);
        }
Beispiel #5
0
        public void ShouldDisposeInitializerInstanceOnCleanup()
        {
            InitializationActionExecutor executor = new InitializationActionExecutor();
            InitializationAction         action   = new InitializationAction("Action")
            {
                State = new DisposibleInitializer()
            };

            DisposibleInitializer.Disposed = false;

            executor.ExecuteCleanupForAction(action);

            Assert.True(DisposibleInitializer.Disposed);
        }
Beispiel #6
0
        public void ShouldSetInitializationContextIfInitializationHandlerImplementsIInitializationContextAware()
        {
            InitializationActionExecutor executor = new InitializationActionExecutor();
            TestInitializationContext    context  = new TestInitializationContext(null, typeof(string).GetMethod("Intern"), new object[0]);
            InitializationAction         action   = new InitializationAction("Action")
            {
                State = new InitializationHandler(typeof(InitializationContextAwareInitializer), new object[0]), Context = context
            };

            InitializationContextAwareInitializer.InitializationContext = null;

            executor.ExecuteInitializationForAction(action);

            Assert.Equal(context, InitializationContextAwareInitializer.InitializationContext);
        }
Beispiel #7
0
        public void ShouldCreateInitializerInstanceOnInitializationAndSaveItIntoActionsState()
        {
            InitializationActionExecutor executor = new InitializationActionExecutor();
            InitializationAction         action   = new InitializationAction("Action")
            {
                State = new InitializationHandler(typeof(SimpleInitializer), new object[0])
            };

            SimpleInitializer.Parameter = null;

            executor.ExecuteInitializationForAction(action);

            Assert.NotNull(SimpleInitializer.Parameter);
            Assert.Equal(string.Empty, SimpleInitializer.Parameter);
        }
Beispiel #8
0
        public void ShouldCreateInitializerInstanceUsingParametersOnInitializationAndSaveItIntoActionsState(Type initializerType)
        {
            const string Parameter = "parameter";

            InitializationActionExecutor executor = new InitializationActionExecutor();
            InitializationAction         action   = new InitializationAction("Action")
            {
                State = new InitializationHandler(initializerType, new object[] { Parameter })
            };

            SimpleInitializer.Parameter = null;

            executor.ExecuteInitializationForAction(action);

            Assert.NotNull(SimpleInitializer.Parameter);
            Assert.Equal(Parameter, SimpleInitializer.Parameter);
        }
Beispiel #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InitializationManagerTest"/> class.
 /// </summary>
 public InitializationManagerTest()
 {
     this.actionDiscoverer = Substitute.For <TestInitializationActionDiscoverer>();
     this.actionExecutor   = Substitute.For <InitializationActionExecutor>();
     this.manager          = new InitializationManager(this.actionDiscoverer, this.actionExecutor);
 }