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()); } } } }
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()); } } }