public void AreDatesPathValid_WrongPathFromInput_InvalidResult() { var validation = new ArgumentsValidation(new GitArguments(), validationMock); var validator = validation.AreDatesPathValid(new[] { "01/01/2018", "01/15/2018", @"C:\asdasdasd" }); Assert.False(validator); }
public void AreDatesPathValid_SinceDateWrongFormat_InvalidResult() { var validation = new ArgumentsValidation(new GitArguments(), validationMock); var validator = validation.AreDatesPathValid(new[] { "01/012/2018", "11/15/2018", @"C:\git" }); Assert.False(validator); }
public void AreDatesPathValid_BeforeDateMorePrevious_InvalidResult() { var validation = new ArgumentsValidation(new GitArguments(), validationMock); var validator = validation.AreDatesPathValid(new[] { "01/01/2018", "11/15/2017", @"C:\git" }); Assert.False(validator); }
static void Main(string[] args) { var newArgs = ManageConsoleArguments(args); var gitArgument = new GitArguments(); var argumentValidator = new ArgumentsValidation(gitArgument, new DirectoryValidation()); var errorHandler = new GitLogErrors(gitArgument); while (!argumentValidator.AreDatesPathValid(newArgs)) { newArgs = errorHandler.FixDatePathError(newArgs); } IJsonConfig jsonConfig = new JsonConfig(); var processRunner = new GitProcess(gitArgument, jsonConfig); var processOutput = processRunner.RunGitLogProcess(); var reportHandler = new GitReportCreator(jsonConfig); var report = reportHandler.GetReportDictionary(processOutput); var reportPresentation = new GitLogPresentation(); reportPresentation.PresentReport(report); string[] ManageConsoleArguments(string[] arguments) { var dateHandler = new DateSinceManager(); var reportArguments = new string[3]; var today = DateTime.Today; if (arguments.Length == 2) { if (Int32.TryParse(arguments[1], out int parsedString)) { var enumFromInt = (FromToday)parsedString; reportArguments[0] = dateHandler.GetDateString(enumFromInt); } reportArguments[1] = today.ToString(); reportArguments[2] = arguments[0]; } else { reportArguments[0] = dateHandler.GetDateString(FromToday.OneDay); reportArguments[1] = today.ToString(); reportArguments[2] = ""; } return(reportArguments); } }
public void AreDatesPathValid_ArgumentsInOrder_ValidResult() { var validation = new ArgumentsValidation(new GitArguments(), validationMock); var validator = validation.AreDatesPathValid(new[] { "01/01/2018", "01/15/2018", @"C:\git" }); Assert.True(validator); Assert.Equal(15, validation.GitArgument.DateBefore.Day); Assert.Equal(1, validation.GitArgument.DateBefore.Month); Assert.Equal(2018, validation.GitArgument.DateBefore.Year); Assert.Equal(1, validation.GitArgument.DateSince.Day); Assert.Equal(1, validation.GitArgument.DateSince.Month); Assert.Equal(2018, validation.GitArgument.DateSince.Year); }