예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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()));
                }
            }
        }