private void button1_Click(object sender, EventArgs e) { CaptureConsole RunConsole = new CaptureConsole(exeName, parameters, ShowStdOutput, ShowStdError); externalProcess = RunConsole.Run(450); this.InvokeEx(x => x.listBox1.Items.Add(String.Format("Process Started: {0}", externalProcess.StartTime))); }
public void CaptureOutput() { using (var session = new CaptureConsole()) { Console.Write("hello"); Check.That(session.Output).IsEqualTo("hello"); } }
public void SimulateInput() { using (var session = new CaptureConsole()) { session.InputLine("hello"); Check.That(Console.ReadLine()).IsEqualTo("hello"); session.Input("AB"); Check.That(Console.Read()).IsEqualTo('A'); } }
public void PermitStreamedOutputConsumption() { using (var session = new CaptureConsole()) { Console.WriteLine("hello"); Console.WriteLine("world"); Check.That(session.ReadLine()).IsEqualTo("hello"); Check.That(session.ReadLine()).IsEqualTo("world"); Console.Write("so "); Console.Write("great"); Check.That(session.ReadLine()).IsEqualTo("so great"); } }
public void HandlerGoodAnswerToQuestion2() { var fakeClient = new AoCFakeClient(2015); using var console = new CaptureConsole(); var mockFileSystem = GetFileSystem(); fakeClient.SetAnswerResponseFilename(1, GoodAnswerFile); fakeClient.SetAnswerResponseFilename(2, GoodAnswerFile); var engine = new Engine(2015, fakeClient, mockFileSystem); var algo = new FakeSolver(10, 12, 13); engine.RunDay(() => algo); Check.That(algo.GetAnswer1Calls).IsEqualTo(1); Check.That(console.Output).Contains("Question 1 passed!"); Check.That(console.Output).Contains("Question 2 passed!"); }
public void SetUpEverythingProperly() { var mockFileSystem = GetFileSystem(); var fakeClient = new AoCFakeClient(2015); var testInputData = "Silly input data"; fakeClient.SetInputData(testInputData); var engine = new Engine(2015, fakeClient, mockFileSystem); var algo = new FakeSolver(10, null, null); using var console = new CaptureConsole(); engine.RunDay(() => algo); // verify the day is properly set up Check.That(engine.Day).IsEqualTo(10); // it should have received the provided input data Check.That(algo.InputData).IsEqualTo(testInputData); Check.That(fakeClient.NbRequest).IsEqualTo(1); }
public void HandlerGoodAnswer() { var fakeClient = new AoCFakeClient(2015); using var console = new CaptureConsole(); var mockFileSystem = GetFileSystem(); fakeClient.SetAnswerResponseFilename(1, GoodAnswerFile); var engine = new Engine(2015, fakeClient, mockFileSystem); var algo = new FakeSolver(10, 12, null); engine.RunDay(() => algo); Check.That(algo.GetAnswer1Calls).IsEqualTo(1); Check.That(console.Output).Contains("AoC site response"); Check.That(console.Output).Contains("Day 10-1:"); Check.That(algo.GetAnswer2Calls).IsEqualTo(1); Check.That(mockFileSystem.AllFiles.Any(p => Regex.IsMatch(p, "Answer1.*\\.html"))); Check.That(console.Output).Contains("Question 1 passed!"); }
public void HandleWhenNoAnswerProvided() { var mockFileSystem = GetFileSystem(); var fakeClient = new AoCFakeClient(2015); var testInputData = "Silly input data"; fakeClient.SetInputData(testInputData); var engine = new Engine(2015, fakeClient, mockFileSystem); var algo = new FakeSolver(10, null, null); using var console = new CaptureConsole(); engine.RunDay(() => algo); // it should request the first answer Check.That(algo.GetAnswer1Calls).IsEqualTo(1); // and not the second Check.That(algo.GetAnswer2Calls).IsEqualTo(0); // it should say that no answer was provided Check.That(console.Output).Contains("No answer provided"); // it should have received the provided input data Check.That(algo.InputData).IsEqualTo(testInputData); }