Ejemplo n.º 1
0
        public static void Main(params string[] args)
        {
            ILogger logger = new ConsoleLoggerWithProgressIndicator();

            try
            {
                var parameters = Args.Parse <Parameters>(args);
                if (parameters == null)
                {
                    return;
                }

                var context     = new ActionContext(parameters, logger);
                var action      = new ActionComposer().Compose(parameters.Action, context);
                var timedAction = new TimedAction(action);
                timedAction.Execute();

                Console.WriteLine("Completed, action took {0}", timedAction.Duration);
            }
            catch (Exception e)
            {
                logger.LogInfo("An error occured: {0}", e);
                throw;
            }
        }
Ejemplo n.º 2
0
        public void canComposeNoActions()
        {
            var spy      = new DependencyProviderSpy();
            var composer = new ActionComposer(spy);

            composer.Submit();

            spy._called.Should().Be(0);
        }
Ejemplo n.º 3
0
        public void DoesNotExecuteUnSubmittedCommands()
        {
            var action = new PunchAnimator();

            var dependencyResolver = new LoadableDependencyProvider();

            dependencyResolver.Register <PunchAnimator>(() => action);

            var composer = new ActionComposer(dependencyResolver);

            composer.Route <PunchAnimation, PunchAnimator>();

            var punchAnimation = new PunchAnimation();

            punchAnimation.intensity = 100;

            composer.QueueCommand(punchAnimation);
            composer.ExecuteFrame();

            action._called.Should().Be(0);
            action._payload.Should().NotBe(punchAnimation);
        }
Ejemplo n.º 4
0
        public void canComposeOneAction()
        {
            var punchAnimator = new PunchAnimator();

            var dependencyResolver = new LoadableDependencyProvider();

            dependencyResolver.Register <PunchAnimator>(() => punchAnimator);

            var composer = new ActionComposer(dependencyResolver);

            composer.Route <PunchAnimation, PunchAnimator>();

            var punchAnimation = new PunchAnimation();

            punchAnimation.intensity = 100;

            composer.QueueCommand(punchAnimation);
            composer.Submit();
            composer.ExecuteFrame();

            punchAnimator._called.Should().Be(1);
            punchAnimator._payload.Should().Be(punchAnimation);
        }
Ejemplo n.º 5
0
        public void Composing_WorkspaceInit_action()
        {
            var sut = new ActionComposer();

            composedAction = sut.Compose(ActionKind.WorkspaceInit, actionContext);
        }
        public void Composing_VaultExport_action()
        {
            var sut = new ActionComposer();

            composedAction = sut.Compose(ActionKind.VaultExport, actionContext);
        }