public void DefaultCatalogTest() { StringBuilder expectedOutput = new StringBuilder(); StringBuilder actualOutput = new StringBuilder(); actualOutput.AppendLine("No items found"); actualOutput.AppendLine("Application added"); actualOutput.AppendLine("Book added"); actualOutput.AppendLine("Song added"); actualOutput.AppendLine("Movie added"); actualOutput.AppendLine("Song: One; Metallica; 8771120; http://goo.gl/dIkth7gs"); actualOutput.AppendLine("Movie added"); actualOutput.AppendLine("Movie: One; James Wong (2001); 969763002; http://www.imdb.com/title/tt0267804/"); actualOutput.AppendLine("Song: One; Metallica; 8771120; http://goo.gl/dIkth7gs"); actualOutput.AppendLine("1 items updated"); actualOutput.AppendLine("Book: Intro C#; S.Nakov; 12763892; http://introprograming.info/en/"); actualOutput.AppendLine("0 items updated"); StringBuilder input = new StringBuilder(); input.AppendLine("Find: One; 3"); input.AppendLine("Add application: Firefox v.11.0; Mozilla; 16148072; http://www.mozilla.org "); input.AppendLine("Add book: Intro C#; S.Nakov; 12763892; http://www.introprogramming.info"); input.AppendLine("Add song: One; Metallica; 8771120; http://goo.gl/dIkth7gs"); input.AppendLine("Add movie: The Secret; Drew Heriot, Sean Byrne & others (2006); 832763834; http://t.co/dNV4d"); input.AppendLine("Find: One; 1"); input.AppendLine("Add movie: One; James Wong (2001); 969763002; http://www.imdb.com/title/tt0267804/"); input.AppendLine("Find: One; 10"); input.AppendLine("Update: http://www.introprogramming.info; http://introprograming.info/en/"); input.AppendLine("Find: Intro C#; 1"); input.AppendLine("Update: http://nakov.com; sftp://www.nakov.com"); input.AppendLine("End"); input.AppendLine(string.Empty); sr = new StringReader(input.ToString()); Console.SetIn(sr); using (sr) { StringBuilder output = new StringBuilder(); ContentCatalog catalog = new ContentCatalog(); ICommandExecutor executor = new CommandExecutor(); List<ICommand> commands = catalog.Parse(); foreach (ICommand command in commands) { executor.ExecuteCommand(catalog, command, expectedOutput); } } Assert.AreEqual(expectedOutput.ToString(), actualOutput.ToString(), "Incorrect result"); }
public static void Main() { StringBuilder consoleOutput = new StringBuilder(); Catalog catalog = new Catalog(); ICommandExecutor commandExecutor = new CommandExecutor(); List<ICommand> commandsToExecute = ContainCommands(); foreach (ICommand command in commandsToExecute) { commandExecutor.ExecuteCommand(catalog, command, consoleOutput); } Console.Write(consoleOutput); }
public static void Main() { StringBuilder output = new StringBuilder(); ContentCatalog catalog = new ContentCatalog(); ICommandExecutor executor = new CommandExecutor(); List<ICommand> commands = catalog.Parse(); foreach (ICommand command in commands) { executor.ExecuteCommand(catalog, command, output); } Console.Write(output); }