예제 #1
0
        public async Task TestRunCommand_ArgumentArray_Exception()
        {
            var coreMod = new TestCoreMod2();

            using (var manager = new PluginManager())
            {
                using (var appViewModel = new ApplicationViewModel(manager))
                {
                    await manager.LoadCore(coreMod);

                    var c = manager.CurrentConsoleProvider as MemoryConsoleProvider;

                    // Test
                    await appViewModel.CurrentConsoleShell.RunCommand("TestConsoleCommandException", new string[] { "main", "arg" }, true);

                    Assert.IsTrue(c.GetStdOut().Contains(nameof(TestException)), "Console output does not contain correct exception.");

                    try
                    {
                        await appViewModel.CurrentConsoleShell.RunCommand("TestConsoleCommandException", new string[] { "main", "arg" }, false);
                    }
                    catch (TestException)
                    {
                        // Pass
                    }
                    catch (Exception ex)
                    {
                        Assert.Fail("Incorrect exeption thrown: " + ex.ToString());
                    }
                }
            }
        }
예제 #2
0
        public async Task TestRunCommand_ArgumentArray_Output()
        {
            var coreMod = new TestCoreMod2();

            using (var manager = new PluginManager())
            {
                using (var appViewModel = new ApplicationViewModel(manager))
                {
                    await manager.LoadCore(coreMod);

                    var c = manager.CurrentConsoleProvider as MemoryConsoleProvider;

                    // Test
                    await appViewModel.CurrentConsoleShell.RunCommand("TestConsoleCommand", new string[] { "main", "arg" });

                    // Check
                    var output = c.GetStdOut();
                    Assert.AreEqual(Properties.Resources.ConsoleTests_TestRunCommand_ArgArr_Output.Replace("%n", Environment.NewLine), c.GetStdOut());
                }
            }
        }