public void CheckRangeForDifferentMonths() { Mock <IPatternsUtil> patternsUtilMock = new Mock <IPatternsUtil>(); DateTime startDate = DateTime.Parse("01.01.2016", new CultureInfo("pl-PL")).Date; DateTime endDate = DateTime.Parse("01.02.2016", new CultureInfo("pl-PL")).Date; // table with all possible patterns and ranges DatePatternAndRange[] patternsAndRanges = new DatePatternAndRange[] { new DatePatternAndRange("dd.MM", "dd.MM.yyyy", "01.01 - 01.02.2016"), new DatePatternAndRange("dd.yyyy.MM", "dd.yyyy.MM", "01.2016.01 - 01.2016.02"), new DatePatternAndRange("MM.dd", "MM.dd.yyyy", "01.01 - 02.01.2016"), new DatePatternAndRange("MM.yyyy.dd", "MM.yyyy.dd", "01.2016.01 - 02.2016.01"), new DatePatternAndRange("yyyy.dd.MM", "dd.MM", "2016.01.01 - 01.02"), new DatePatternAndRange("yyyy.MM.dd", "MM.dd", "2016.01.01 - 02.01"), }; foreach (DatePatternAndRange par in patternsAndRanges) { patternsUtilMock.Setup(m => m.GetPatterns(startDate, endDate)).Returns(par.Patterns); IDateRangeParser dateRangeParser = container.Resolve <IDateRangeParser>(new TypedParameter(typeof(IPatternsUtil), patternsUtilMock.Object)); string expected = par.Range; string result = dateRangeParser.CalculateRange(startDate, endDate); Assert.AreEqual(expected, result); } }
public void ReturnNullWrongDatesOrder() { DateTime startDate = DateTime.Parse("02.01.2016", new CultureInfo("pl-PL")); DateTime endDate = DateTime.Parse("01.01.2016", new CultureInfo("pl-PL")); IDateRangeParser dateRangeParser = container.Resolve <IDateRangeParser>(); string result = dateRangeParser.CalculateRange(startDate, endDate); Assert.AreEqual(null, result); }
public void CheckRangeForSameDates() { DateTime startDate = DateTime.Parse("01.01.2016", new CultureInfo("pl-PL")).Date; DateTime endDate = DateTime.Parse("01.01.2016", new CultureInfo("pl-PL")).Date; IDateRangeParser dateRangeParser = container.Resolve <IDateRangeParser>(); string expected = "01.01.2016"; string result = dateRangeParser.CalculateRange(startDate, endDate); Assert.AreEqual(expected, result); }
static void Main(string[] args) { var container = ContainerConfig.Configure(); using (var scope = container.BeginLifetimeScope()) { ICustomILogger logger = scope.Resolve <ICustomILogger>(); logger.Debug(string.Format("Start processing with args: {0}", string.Join(", ", args))); try { ArgsCounterValidation argsCounterValidator = new ArgsCounterValidation(args); if (argsCounterValidator.IsValid) { IDateParserUtil dateParserUtil = scope.Resolve <IDateParserUtil>(); DateTime?startDate = dateParserUtil.ParseDate(args[0]); DateTime?endDate = dateParserUtil.ParseDate(args[1]); if (startDate != null && endDate != null) { IDateRangeParser dateRangeParser = scope.Resolve <IDateRangeParser>(); string range = dateRangeParser.CalculateRange(startDate.Value, endDate.Value); if (range != null) { logger.Info(range); } } } else { logger.Error(argsCounterValidator.Message); } } catch (Exception e) { logger.Fatal(string.Format("Unknown exception: {0}", e.ToString())); } } }