示例#1
0
        public void TariffOfTurningLimitedTest()
        {
            //免费0分钟,入场收取10元,过第二天6点改收30元,此后每过6点加收30元
            TariffOfTurningLimited tariff = new TariffOfTurningLimited();

            tariff.FreeMinutes  = 0;
            tariff.FirstFee     = 10;
            tariff.Turning      = new TimeEntity(6, 0); //6点钟为转折点
            tariff.FeeOfTurning = 30;

            Assert.IsTrue(tariff.CalculateFee(new DateTime(2012, 1, 17, 2, 11, 13), new DateTime(2012, 1, 18, 6, 0, 0)) == 40);
            Assert.IsTrue(tariff.CalculateFee(new DateTime(2012, 1, 17, 2, 11, 13), new DateTime(2012, 1, 18, 6, 01, 43)) == 70);
            Assert.IsTrue(tariff.CalculateFee(new DateTime(2012, 1, 17, 6, 1, 50), new DateTime(2012, 1, 18, 6, 0, 0)) == 10);
            Assert.IsTrue(tariff.CalculateFee(new DateTime(2012, 1, 17, 6, 1, 50), new DateTime(2012, 1, 18, 6, 1, 50)) == 40);

            Assert.IsTrue(tariff.CalculateFee(new DateTime(2012, 1, 17, 6, 1, 50), new DateTime(2012, 1, 19, 6, 1, 50)) == 70);
            Assert.IsTrue(tariff.CalculateFee(new DateTime(2012, 1, 17, 6, 1, 50), new DateTime(2012, 1, 19, 6, 0, 13)) == 70);
        }