public void No_args_displays_help() { var processExecMock = new Mock<IProcessExecuter>(); var formDisplayer = new Mock<IFormDisplayer>(); var parser = new CommandLineParser(processExecMock.Object, formDisplayer.Object, Mock.Of<IFileExtensionLocator>()); parser.Parse(new string[] {}); processExecMock.Verify(x => x.Start(It.IsAny<string>(), It.IsAny<string>()), Times.Never()); formDisplayer.Verify(x => x.Display(It.IsAny<Form>()), Times.Exactly(1)); }
public static void Main(string[] args) { var logger = LogManager.GetCurrentClassLogger(); logger.Trace("Main():"); for (var i = 0; i < args.Length; i++) logger.Trace(string.Format(" {0}: {1}", i, args[i])); var processExecuter = new ProcessExecuter(); var messageDisplayer = new FormDisplayer(); var fileProvider = new FileProvider(); var fileExtPersister = new FileExtensionPersister(fileProvider); var fileExtLocator = new FileExtensionLocator(fileExtPersister, new BuiltInFileExtensions()); var clp = new CommandLineParser(processExecuter, messageDisplayer, fileExtLocator); clp.Parse(args); }
public void Merge() { var args = new[] { "MERGE", "path", "path2", "left label", "right label" }; var fileExt = new Mock<FileExtension>(); fileExt.Setup(x => x.IsForExtension(It.IsAny<IEnumerable<string>>())).Returns(true); fileExt.Setup(x => x.GetEffectiveMergeArguments(It.IsAny<IList<string>>())).Returns("effective arguments"); fileExt.Setup(x => x.Command).Returns("command"); var fileExtLocator = new Mock<IFileExtensionLocator>(); fileExtLocator.Setup(x => x.GetFileExtension(It.IsAny<IList<string>>())).Returns(fileExt.Object); var processExecMock = new Mock<IProcessExecuter>(); var parser = new CommandLineParser(processExecMock.Object, Mock.Of<IFormDisplayer>(), fileExtLocator.Object); parser.Parse(args); processExecMock.Verify(x => x.Start("command", "effective arguments"), Times.Once()); fileExt.Verify(x => x.GetEffectiveMergeArguments(args), Times.Once()); fileExt.Verify(x => x.GetEffectiveDiffArguments(args), Times.Never()); }
public void Unrecognized_command_gives_help() { var processExecMock = new Mock<IProcessExecuter>(); var formDisplayer = new Mock<IFormDisplayer>(); var parser = new CommandLineParser(processExecMock.Object, formDisplayer.Object, Mock.Of<IFileExtensionLocator>()); parser.Parse(new[] {"nothing"}); processExecMock.Verify(x => x.Start(It.IsAny<string>(), It.IsAny<string>()), Times.Never()); formDisplayer.Verify(x => x.Display(It.IsAny<Form>()), Times.Once()); }