예제 #1
0
        public void NieuwKortingIsNul()
        {
            var          target   = new EventingKorting("Leeg");
            const double expected = 0;
            var          actual   = target.KortingVoorAantal(42);

            Assert.AreEqual(expected, actual);
        }
예제 #2
0
        public void UitVolgorde()
        {
            var target = new EventingKorting("Uitvolgorde");

            target.Nieuw(15, 10);
            target.Nieuw(2, 5);
            Assert.AreEqual(target.KortingVoorAantal(15), 10.0);
            Assert.AreEqual(target.KortingVoorAantal(2), 5.0);
        }
예제 #3
0
        public void KortingVoorExactAantal()
        {
            var          target  = new EventingKorting("Simpel");
            const int    aantal  = 2;
            const double korting = 7.5;

            target.Nieuw(aantal, korting);
            Assert.AreEqual(korting, target.KortingVoorAantal(aantal));
        }
예제 #4
0
        public void NieuweKortingIsNul()
        {
            var target = new EventingKorting("Leeg");
            //const variabelen worden op een andere geheugenlocatie opgeslaan
            const double expected = 0;
            var          actual   = target.KortingVoorAantal(42);

            Assert.AreEqual(expected, actual);
        }
예제 #5
0
        public void MaxKortingIs100()
        {
            var target = new EventingKorting("MaxKortingIs100");

            target.Nieuw(3, 101);
            const int expected = 0;
            var       result   = target.Items.Count;

            Assert.AreEqual(expected, result);
        }
예제 #6
0
        public void MoetenGroterDanNulZijn()
        {
            var target = new EventingKorting("MoetenGroterDan0Zijn");

            target.Nieuw(-2, -3);
            const int expected = 0;
            var       result   = target.Items.Count;

            Assert.AreEqual(expected, result);
        }
예제 #7
0
        public void GroterIsKleinerKanNiet()
        {
            var target = new EventingKorting("GroterIsKleinerKanNiet");

            target.Nieuw(1, 10);
            target.Nieuw(3, 3);
            var expected = false;

            Assert.AreEqual(expected, target.IsGeldig());
        }
예제 #8
0
        public void UitVolgorde()
        {
            var target = new EventingKorting("UitVolgorde");

            target.Nieuw(15, 10);
            target.Nieuw(2, 5);
            Assert.AreEqual(target.KortingVoorAantal(15), 10.0);
            Assert.AreEqual(target.KortingVoorAantal(2), 5);
            //faalt bij eerste test omdat List geen automatisch sorterend type is -> type aangepast
        }
예제 #9
0
        public void KortingIsUniek()
        {
            var target = new EventingKorting("KortingIsUniek");

            target.Nieuw(1, 5);
            target.Nieuw(2, 5);
            const int expected = 1;
            var       result   = target.Items.Count;

            Assert.AreEqual(expected, result);
        }
예제 #10
0
        public void KleinerAantalNooitGrotereKorting()
        {
            var target = new EventingKorting("KleinerAantalNooitGrotereKorting");

            target.Nieuw(1, 20);
            target.Nieuw(2, 10);

            var expected = false;
            var result   = target.IsGeldig();

            Assert.AreEqual(expected, result);
        }
예제 #11
0
        public void Populeer()
        {
            var limoLijst = new List <Limo>
            {
                new Limo("Porsche", "Cayenne Limousine White", 300, 1500, 1000),
                new Limo("Porsche", "Cayenne Limousine Electric Blue", 350, 1600, 1100),
                new Limo("Mercedes", "SL 55 AMG Silver", 175, 0, 500),
                new Limo("Mercedes", "SL 55 AMG Silver", 175, 0, 500),
                new Limo("Lincoln", "White Limousine", 155, 490, 430),
                new Limo("Lincoln", "Pink Limousine", 175, 600, 500),
                new Limo("Lincoln", "Black Limousine", 165, 600, 500),
                new Limo("Hummer", "Limousine Yellow", 225, 1290, 790),
                new Limo("Hummer", "Limousine Black", 195, 990, 0),
                new Limo("Hummer", "Limousine White", 195, 990, 0),
                new Limo("Chrysler", "300C Sedan - White", 125, 0, 350),
                new Limo("Chrysler", "300C Sedan - White", 125, 0, 350),
                new Limo("Chrysler", "300C Sedan - Black", 125, 0, 350),
                new Limo("Chrysler", "300C Sedan - Black", 125, 0, 350),
                new Limo("Chrysler", "300C Limousine - White", 165, 600, 500),
                new Limo("Chrysler", "300C Limousine - Tuxedo Crème", 165, 600, 500)
            };

            Repo.NieuweLimos(limoLijst);


            var eventingKortingLijst = new List <EventingKorting>();
            var geenKorting          = new EventingKorting("Geen Korting");

            eventingKortingLijst.Add(geenKorting);
            var groteOmzet = new EventingKorting("Grote Omzet");

            groteOmzet.Nieuw(2, 5);
            groteOmzet.Nieuw(5, 8);
            groteOmzet.Nieuw(8, 12);
            eventingKortingLijst.Add(groteOmzet);
            var bedrijf = new EventingKorting("Bedrijf");

            bedrijf.Nieuw(2, 4);
            bedrijf.Nieuw(4, 6);
            bedrijf.Nieuw(6, 9);
            eventingKortingLijst.Add(bedrijf);
            var belangrijkeParticulier = new EventingKorting("Belangrijke Particulier");

            belangrijkeParticulier.Nieuw(2, 5);
            belangrijkeParticulier.Nieuw(4, 7);
            belangrijkeParticulier.Nieuw(7, 10);
            belangrijkeParticulier.Nieuw(10, 15);
            eventingKortingLijst.Add(belangrijkeParticulier);
            Repo.NieuweKortingen(eventingKortingLijst);


            var klantenCategorieenLijst = new List <KlantCategorie>();

            var org = new KlantCategorie("Organisator", groteOmzet);

            klantenCategorieenLijst.Add(org);
            var vip = new KlantCategorie("Vip", belangrijkeParticulier);

            klantenCategorieenLijst.Add(vip);
            var part = new KlantCategorie("Particulier", geenKorting);

            klantenCategorieenLijst.Add(part);
            var occ = new KlantCategorie("Occasioneel", geenKorting);

            klantenCategorieenLijst.Add(occ);
            var wPlann = new KlantCategorie("WeddingPlanner", groteOmzet);

            klantenCategorieenLijst.Add(wPlann);
            var bed = new KlantCategorie("Bedrijf", bedrijf);

            klantenCategorieenLijst.Add(bed);
            Repo.NieuweKlantCategorieen(klantenCategorieenLijst);


            //nog paar extra klanten toevoegen
            var klantenLijst = new List <Klant>
            {
                new Klant("Jonathan Arnoys", new Adres("Fictievestraat 36", 9000, "Gent", "België"), vip),
                new Klant("KBC Group", new Adres("Brugsesteenweg 45", 8400, "Oostende", "België"), bed, "BE8745614615"),
                new Klant("Artevelde Hogeschool", new Adres("Suckstraat", 9000, "Gent", "België"), occ, "BE9846553227"),
                new Klant("Pol Desterke", new Adres("Teststraat 825", 9032, "Wondelgem", "België"), part)
            };

            Repo.NieuweKlanten(klantenLijst);


            var reserveringLijst = new List <Reservering>
            {
                new Reservering(Arrangement.Wedding,
                                new Periode(new DateTime(2018, 01, 13, 9, 0, 0), new DateTime(2018, 01, 13, 17, 0, 0)),
                                Locatie.Antwerpen, Locatie.Gent, limoLijst[0], klantenLijst[0],
                                new PrijsBerekening(limoLijst[0], Arrangement.Wedding,
                                                    klantenLijst[0].KlantCategorie.EventingKorting, 0, new DateTime(2018, 01, 13, 9, 0, 0),
                                                    new DateTime(2018, 01, 13, 17, 0, 0)).PrijsInfo),
                new Reservering(Arrangement.NightLife,
                                new Periode(new DateTime(2018, 01, 18, 23, 0, 0), new DateTime(2018, 01, 19, 06, 0, 0)),
                                Locatie.Gent, Locatie.Gent, limoLijst[4], klantenLijst[0],
                                new PrijsBerekening(limoLijst[0], Arrangement.NightLife,
                                                    klantenLijst[0].KlantCategorie.EventingKorting, 1, new DateTime(2018, 01, 18, 23, 0, 0),
                                                    new DateTime(2018, 01, 19, 06, 0, 0)).PrijsInfo),
                new Reservering(Arrangement.Business,
                                new Periode(new DateTime(2018, 01, 08, 23, 0, 0), new DateTime(2018, 01, 09, 06, 0, 0)),
                                Locatie.Hasselt, Locatie.Gent, limoLijst[6], klantenLijst[0],
                                new PrijsBerekening(limoLijst[0], Arrangement.Business,
                                                    klantenLijst[0].KlantCategorie.EventingKorting, 2, new DateTime(2018, 01, 08, 23, 0, 0),
                                                    new DateTime(2018, 01, 09, 06, 0, 0)).PrijsInfo),
            };

            Repo.NieuweReserveringen(reserveringLijst);
        }