Esempio n. 1
0
        public void NightLifeTest_Methods()
        {
            Nightlife nightLife       = new Nightlife(2000);
            TimeSpan  StartHour       = new TimeSpan(20, 0, 0);
            TimeSpan  EndHour         = new TimeSpan(27, 0, 0);
            int       extraHours      = 2;
            int       extraHourPrice  = 280;
            int       CalculatedPrice = 2000;

            nightLife.SetTime(new TimeSpan(20, 0, 0), null);
            nightLife.EndHour.Should().Be(EndHour);
            var result = nightLife.GetCalculatedPrice(100);

            nightLife.GetEndTime();
            result.Key.Should().Be(CalculatedPrice);
            result.Value.Any(s => s.Type == "Extra uren").Should().BeFalse();

            nightLife.SetTime(new TimeSpan(20, 0, 0), 2);
            CalculatedPrice = 2280;
            EndHour         = new TimeSpan(29, 0, 0);
            nightLife.EndHour.Should().Be(EndHour);
            result = nightLife.GetCalculatedPrice(100);
            nightLife.GetEndTime();
            result.Key.Should().Be(CalculatedPrice);
            result.Value.Single(s => s.Type == "Extra uren").TotalPrice.Should().Be(extraHourPrice);
            result.Value.Single(s => s.Type == "Extra uren").NrOfHours.Should().Be(extraHours);
        }
Esempio n. 2
0
        public void NightLifeTest_Exceptions()
        {
            Nightlife nightLife = new Nightlife(2000);
            Action    act       = () => nightLife.GetCalculatedPrice(200);

            act.Should().Throw <DomainException>().WithMessage("Zorg er aub voor dat de start- en eindtijd ingevuld zijn");

            act = () => nightLife.SetTime(new TimeSpan(20, 0, 0), -10);
            act.Should().Throw <DomainException>().WithMessage("Je kan geen negatief aantal extra uren hebben");

            act = () => nightLife.SetTime(new TimeSpan(20, 0, 0), 10);
            act.Should().Throw <DomainException>().WithMessage("Zorg er a.u.b. voor dat het eind uur niet meer dan elf uur na het start uur is." +
                                                               " (Het Nightlife arangement heeft een standaartduuratie van 4 uur)");
        }