Beispiel #1
0
        public void BaseRateTestGetBusinessDays()
        {
            var br = new PayBaseRate(100M);

            int func(string dateFrom, string dateTo) =>
            br.CalcAmountBusinessDays(DatеFromStr(dateFrom), DatеFromStr(dateTo));

            int t;

            t = func("30.09.2019", "06.10.2019");
            Assert.IsTrue(t == 5);
            t = func("05.10.2019", "27.10.2019");
            Assert.IsTrue(t == 15);
            t = func("02.10.2019", "17.10.2019");
            Assert.IsTrue(t == 12);
            t = func("01.01.2019", "01.02.2019");
            Assert.IsTrue(t == 24);
            t = func("01.01.2019", "09.02.2019");
            Assert.IsTrue(t == 29);
            t = func("01.02.2016", "29.02.2016"); // 2016 высокосный год
            Assert.IsTrue(t == 21);
            t = func("01.02.2016", "09.03.2016"); // 2016 высокосный год
            Assert.IsTrue(t == 28);
            t = func("04.10.2019", "04.10.2019"); // 1 день, пятница
            Assert.IsTrue(t == 1);
            t = func("05.10.2019", "05.10.2019"); // 1 день, суббота
            Assert.Zero(t);
            // проверка реакции на некорректные входные данные
            try
            {
                t = func("01.01.2019", "01.01.2018");
            }
            catch (ArgumentException)
            {
                Assert.IsTrue(true);
            }
            catch
            {
                Assert.IsTrue(false);
            }
        }