Esempio n. 1
0
        public void throws_exception_on_command_exception_when_enabled_in_settings()
        {
            var errorCommand = new ExceptionThrowingCommand();

            var engine = CleeEngine.Create(cfg =>
            {
                cfg.Settings(s => { s.ThrowOnExceptions = true; });
                cfg.Factory(f => f.Use(new StubCommandFactory(errorCommand)));
                cfg.Registry(r => r.Register("foo", errorCommand.GetType()));
            });

            Assert.Throws <CustomCommandException>(() => engine.Execute("foo"));
        }
Esempio n. 2
0
        public void does_not_throw_exception_on_command_exception_when_disabled_in_settings()
        {
            var errorCommand = new ExceptionThrowingCommand();

            var engine = CleeEngine.Create(cfg =>
            {
                cfg.Settings(s => { s.ThrowOnExceptions = false; });
                cfg.Factory(f => f.Use(new StubCommandFactory(errorCommand)));
                cfg.Registry(r => r.Register("foo", errorCommand.GetType()));
            });

            engine.Execute("foo");
        }
Esempio n. 3
0
        public void has_expected_exit_code_when_command_throws_exception()
        {
            var exitCode = 0;

            var errorCommand = new ExceptionThrowingCommand();

            var engine = CleeEngine.Create(cfg =>
            {
                cfg.Settings(s => { s.ThrowOnExceptions = false; });
                cfg.Factory(f => f.Use(new StubCommandFactory(errorCommand)));
                cfg.Registry(r => r.Register("foo", errorCommand.GetType()));
            });

            engine.SetExitCodeAssigner(code => exitCode = code);

            engine.Execute("foo");

            Assert.Equal(-1, exitCode);
        }