static void Main(string[] args) { var consoleOutputManager = new ConsoleOutputManager(); var timeProvider = new TimeProvider(); var messageRepository = new MessagesRepository(); var followingRepository = new FollowingRepository(); consoleOutputManager.WriteLine("Welcome to RetroTwitter"); consoleOutputManager.WriteLine(); ShowInstructions(consoleOutputManager); consoleOutputManager.WriteLine(); consoleOutputManager.WriteLine("What do you want to do today?"); var commandFactory = new CommandCreatorsFactory(consoleOutputManager, timeProvider, messageRepository, followingRepository); while (true) { consoleOutputManager.Write(">"); var commandString = consoleOutputManager.ReadLine(); var command = commandFactory.ParseStringToCommand(commandString); if (command != null) { command.Execute(); } else { consoleOutputManager.WriteLine("Sorry, I didn't catch that."); } } consoleOutputManager.WriteLine("RetroTwitter is terminating and all the collected data are being destroyed."); // ReSharper disable once FunctionNeverReturns }
public void EmptyUsage() { // arrange ConsoleOutputManager manager = new ConsoleOutputManager(); List <NetworkData> data = new List <NetworkData>() { }; var stream = new MemoryStream(); TextWriter writer = new StreamWriter(stream); // act manager.Write(writer, data); writer.Flush(); string actual = Encoding.UTF8.GetString(stream.ToArray()); // assert StringAssert.AreEqualIgnoringCase("", actual); }
public void BasicUsage() { // arrange ConsoleOutputManager manager = new ConsoleOutputManager(); List <NetworkData> data = new List <NetworkData>() { new NetworkData() { Name = "NIC1", IP = "1.2.3.4" } }; var stream = new MemoryStream(); TextWriter writer = new StreamWriter(stream); // act manager.Write(writer, data); writer.Flush(); string actual = Encoding.UTF8.GetString(stream.ToArray()); // assert StringAssert.AreEqualIgnoringCase("NIC: NIC1 (1.2.3.4)\r\n", actual); }