public void Execute_ShouldReturn_Success_And_PrintDependencies_WhenLoadFromDirectorySucceeds() { var factory = Container.Resolve <IGitDependFileFactory>(); var console = Container.Resolve <IConsole>(); StringBuilder output = new StringBuilder(); console.Arrange(c => c.WriteLine(Arg.AnyString, Arg.IsAny <object[]>())) .DoInstead((string format, object[] args) => { output.AppendLine(string.Format(format, args)); }); string dir = Lib2Directory; ReturnCode loadCode = ReturnCode.Success; factory.Arrange(f => f.LoadFromDirectory(Arg.AnyString, out dir, out loadCode)) .Returns(Lib2Config); var options = new ListSubOptons(); var instance = new ListCommand(options); var code = instance.Execute(); const string EXPECTED = "- Lib2\r\n" + " - Lib1\r\n"; var actual = output.ToString(); Assert.AreEqual(ReturnCode.Success, code, "Invalid Return Code"); Assert.AreEqual(EXPECTED, actual, "Invalid Output"); }
public void Execute_ShouldReturn_Error_WhenLoadFromDirectoryFails() { var factory = Container.Resolve <IGitDependFileFactory>(); string dir = null; ReturnCode loadCode = ReturnCode.DirectoryDoesNotExist; factory.Arrange(f => f.LoadFromDirectory(Arg.AnyString, out dir, out loadCode)) .Returns(null as GitDependFile); var options = new ListSubOptons(); var instance = new ListCommand(options); var code = instance.Execute(); Assert.AreEqual(ReturnCode.DirectoryDoesNotExist, code, "Invalid Return Code"); }
/// <summary> /// Creates a new <see cref="ListCommand"/> /// </summary> /// <param name="options">The <see cref="ListSubOptons"/> that configure this command.</param> public ListCommand(ListSubOptons options) { _options = options; _factory = DependencyInjection.Resolve <IGitDependFileFactory>(); _console = DependencyInjection.Resolve <IConsole>(); }