public void ExecuteSpecifiedRegisteredCommand(string commandId)
        {
            var ce              = new RouterCommand();
            var commandToRun    = new SignalCommand();
            var commandNotToRun = new SignalCommand();

            ce.Register(commandId, commandToRun);
            ce.Register("anotherCommand", commandNotToRun);

            ce.Execute(commandId);

            Assert.True(commandToRun.HasBeenRun);
            Assert.True(commandNotToRun.HasBeenRun == false);
        }
Exemplo n.º 2
0
        public void RejectNonAlphanumericCommandIds(string commandId)
        {
            var command = new FakeCommand();
            var router  = new RouterCommand();

            var e = Assert.Throws <ArgumentException>(() => router.Register(commandId, command));

            Assert.Equal("Command ID must be alphanumeric.", e.Message);
        }
        public void PassAllParametersExceptCommandIdToCommandExecute(params string[] args)
        {
            var ce = new RouterCommand();
            var ac = new ArgsCommand();

            ce.Register("test", ac);

            ce.Execute(args);

            Assert.True(ac.Args.SequenceEqual(args.Skip(1)));
        }
        public void IgnoresLeadingAndTrailingWhitespaceInCommandIds(string commandId, string commandIdToExecute)
        {
            var ce      = new RouterCommand();
            var command = new SignalCommand();

            ce.Register(commandId, command);

            ce.Execute(commandIdToExecute);

            Assert.True(command.HasBeenRun);
        }
        public void ReturnResultOfExecutedCommand(object objToReturn)
        {
            string        returnCommandId = "return";
            ReturnCommand returnCommand   = new ReturnCommand(objToReturn);
            RouterCommand routerCommand   = new RouterCommand();

            routerCommand.Register(returnCommandId, returnCommand);

            var result = routerCommand.Execute(returnCommandId);

            Assert.Equal(objToReturn, result);
        }
        public void ThrowsWhenCommandThrowsInvalidCommandArrayException()
        {
            var eToThrow = new InvalidCommandArrayException("The given command array was invalid and could no be executed.");
            var thrower  = new ThrowerCommand(eToThrow);
            var router   = new RouterCommand();

            router.Register("throw", thrower);

            var result = Assert.Throws <InvalidCommandArrayException>(() => router.Execute("throw"));

            Assert.Equal("A registered command was given an invalid command array.", result.Message);
            Assert.Equal(eToThrow, result.InnerException);
        }
Exemplo n.º 7
0
        public static IExecutable MakeApp(string rootPath = ".")
        {
            var main        = new RouterCommand();
            var fs          = new FileSystem();
            var provider    = new FileSystemLevelsProvider(fs, rootPath);
            var initializer = new MasterFolderLevelInitializer(
                new UserJsonLevelInitializationDeterminer(fs),
                new CopyDir(fs),
                provider,
                fs.Path);

            main.Register("levels", new GetLevelsCommand(provider));
            main.Register("open", new OpenLevelCommand(
                              initializer,
                              provider));
            main.Register("instructions", new GetInstructionsPathCommand(provider));
            main.Register("verify", new VerifyCommand(
                              provider,
                              new JarFileVerifier(new JarFileProcessFactory())
                              ));
            main.Register("reset", new ResetLevelCommand(initializer));

            return(main);
        }