public void TestMainLoopFinishOnEmptyCommandWithoutCallingParser() { var parser = Substitute.For <IParser>(); var o = new Simulator.Dispatcher(parser, Substitute.For <IExecutor>()); o.ReadLine = () => string.Empty; o.MainLoop(); parser.DidNotReceive().Parse(Arg.Any <string>()); }
public void TestMainLoopCallsParserAndExits() { var parser = Substitute.For <IParser>(); var o = new Simulator.Dispatcher(parser, Substitute.For <IExecutor>()); var commands = new[] { "LEFT", "" }; var i = 0; o.ReadLine = () => commands[i++]; o.MainLoop(); parser.Received(1).Parse("LEFT"); }