예제 #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);
        }
예제 #2
0
        /// <summary>
        /// Checks whether a given start hour is allowed.
        /// </summary>
        public void IsStartAllowed()
        {
            switch (SelectedArangement)
            {
            case "Wedding":
            {
                if (!Wedding.IsStartAllowed((TimeSpan)SelectedStartTime))
                {
                    throw new Exception("Het geselcteerde arangement kan aleen een start uur hebben tussen 7u en 15u.");
                }
            }
            break;

            case "Nightlife":
            {
                if (!Nightlife.IsStartAllowed((TimeSpan)SelectedStartTime))
                {
                    throw new Exception("Het geselcteerde arangement kan aleen een start uur hebben tussen 7u en 15u.");
                }
            }
            break;

            case "Wellness":
            {
                if (!Wellness.IsStartAllowed((TimeSpan)SelectedStartTime))
                {
                    throw new Exception("Het geselcteerde arangement kan aleen een start uur hebben tussen 7u en 15u.");
                }
            }
            break;
            }
        }
예제 #3
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)");
        }
예제 #4
0
        public void NightLifeTest_Constructor()
        {
            int      Price      = 2000;
            TimeSpan StartHour  = new TimeSpan(40, 0, 0);
            TimeSpan EndHour    = new TimeSpan(40, 0, 0);
            int?     ExtraHours = null;
            long     StartTicks = 1440000000000;
            long     EndTicks   = 1440000000000;

            Nightlife nightLife = new Nightlife(2000);

            nightLife.Price.Should().Be(Price);
            nightLife.StartHour.Should().Be(StartHour);
            nightLife.EndHour.Should().Be(EndHour);
            nightLife.ExtraHours.Should().Be(ExtraHours);
            nightLife.StartHourTicks.Should().Be(StartTicks);
            nightLife.EndHourTicks.Should().Be(EndTicks);
        }