public static Staffelkorting GetGroteOmzetStaffelkorting() { int minimumAantalNachten = 7; Periode geldigheidsPeriode = new Periode("22/04/2019", "31/12/2999"); PercentuelePromotie trancheKorting = new PercentuelePromotie(geldigheidsPeriode, -0.5 / 7); StaffelTranche testTranche0 = new StaffelTranche(minimumAantalNachten, trancheKorting); minimumAantalNachten = 1; trancheKorting = new PercentuelePromotie(geldigheidsPeriode, 0); StaffelTranche testTranche1 = new StaffelTranche(minimumAantalNachten, trancheKorting); minimumAantalNachten = 14; trancheKorting = new PercentuelePromotie(geldigheidsPeriode, -1 + 11.9 / 14); StaffelTranche testTranche2 = new StaffelTranche(minimumAantalNachten, trancheKorting); minimumAantalNachten = 28; trancheKorting = new PercentuelePromotie(geldigheidsPeriode, -1 + 22.4 / 28); StaffelTranche testTranche3 = new StaffelTranche(minimumAantalNachten, trancheKorting); string naam = "Grote Omzet"; Staffelkorting staffelTest = new Staffelkorting(naam); staffelTest.StaffelTrancheLijst.Add(testTranche0); staffelTest.StaffelTrancheLijst.Add(testTranche1); staffelTest.StaffelTrancheLijst.Add(testTranche2); staffelTest.StaffelTrancheLijst.Add(testTranche3); return(staffelTest); }
public void VoegStaffelTranchesToe() { int minimumAantalNachten = 7; Periode geldigheidsPeriode = new Periode("22/04/2019", "31/12/2999"); PercentuelePromotie trancheKorting = new PercentuelePromotie(geldigheidsPeriode, -0.5 / 7); StaffelTranche testTranche0 = new StaffelTranche(minimumAantalNachten, trancheKorting); minimumAantalNachten = 1; trancheKorting = new PercentuelePromotie(geldigheidsPeriode, 0); StaffelTranche testTranche1 = new StaffelTranche(minimumAantalNachten, trancheKorting); minimumAantalNachten = 14; trancheKorting = new PercentuelePromotie(geldigheidsPeriode, -1 + 11.9 / 14); StaffelTranche testTranche2 = new StaffelTranche(minimumAantalNachten, trancheKorting); minimumAantalNachten = 28; trancheKorting = new PercentuelePromotie(geldigheidsPeriode, -1 + 22.4 / 28); StaffelTranche testTranche3 = new StaffelTranche(minimumAantalNachten, trancheKorting); string naam = "Grote Omzet"; Staffelkorting staffelTest = new Staffelkorting(naam); staffelTest.StaffelTrancheLijst.Add(testTranche0); staffelTest.StaffelTrancheLijst.Add(testTranche1); staffelTest.StaffelTrancheLijst.Add(testTranche2); staffelTest.StaffelTrancheLijst.Add(testTranche3); Assert.IsTrue(staffelTest.StaffelTrancheLijst.Count == 4); Assert.IsTrue(0.00001 > 5.6 / 28 + staffelTest.StaffelTrancheLijst .Find(tr => tr.MinimumAantalNachten == 28) .TrancheKorting.Percent); }
private void AddVastePrijsAndPercentuelePromotieToPromoties() { VastePrijsPromotie vastePrijsPromotie = new VastePrijsPromotie(-250); PercentuelePromotie percentuelePromotie = new PercentuelePromotie(-0.10); RentAVillaRentingService.Promoties.Add(vastePrijsPromotie); RentAVillaRentingService.Promoties.Add(percentuelePromotie); }
public void MaakStaffelTranche() { int minimumAantalNachten = 7; PercentuelePromotie trancheKorting = new PercentuelePromotie(-0.5 / 7); StaffelTranche testTranche = new StaffelTranche(minimumAantalNachten, trancheKorting); Assert.IsTrue(testTranche.MinimumAantalNachten == 7); Assert.IsTrue(Math.Abs(testTranche.TrancheKorting.Percent + 0.5 / 7) < 0.0001); }
public void PercentuelePromotieHeeftPeriodeEnIsPrijsComponent() { Periode periode = new Periode("22/04/2019", "26/04/2019"); double percent = -0.25; PercentuelePromotie promotie = new PercentuelePromotie(periode, percent); Assert.IsTrue(promotie.GetType() == typeof(PercentuelePromotie)); Assert.IsTrue(promotie.Waarde == 0 && promotie.ToepassingsEenheid == PrijsEenheid.None); PercentuelePromotie concretePercentPromotie = promotie.GetConcretePromotieOp(new HuurPrijsPerNacht(Tarief.Laagseizoen, 250.00)); Assert.IsTrue(concretePercentPromotie.Waarde == 250.00 * -0.25); }
public void MaakPrijsOfferteMetPrijsComponenten() { int aantalPersonen = 6; int aantalNachten = 7; PrijsOfferte offerte = new PrijsOfferte(); HuurPrijsPerNacht huurPrijsPerNacht = new HuurPrijsPerNacht(Tarief.Hoogseizoen, 127.00); Waarborg waarborg = new Waarborg(500.00); SchoonmaakPrijs schoonmaak = new SchoonmaakPrijs(100.00); PersoonsToeslagPerNacht persoonsToeslagPerNacht = new PersoonsToeslagPerNacht(25); Periode promotiePeriode = new Periode("21/04/2019", "31/12/2019"); VastePrijsPromotie vastePrijsPromotie = new VastePrijsPromotie(promotiePeriode, -250.00); PercentuelePromotie reservatieKorting = new PercentuelePromotie(promotiePeriode, -0.10, offerte); PercentuelePromotie huurPrijsPromotie = new PercentuelePromotie(promotiePeriode, -0.5, huurPrijsPerNacht); offerte.Add(huurPrijsPerNacht, aantalNachten); offerte.Add(waarborg); offerte.Add(schoonmaak); offerte.Add(persoonsToeslagPerNacht, aantalNachten * aantalPersonen); offerte.Add(vastePrijsPromotie); offerte.Add(reservatieKorting); offerte.Add(huurPrijsPromotie, aantalNachten); Assert.IsTrue(offerte.Waarde != 0); }
public StaffelTranche(int minimumAantalNachten, PercentuelePromotie trancheKorting) { MinimumAantalNachten = minimumAantalNachten; TrancheKorting = trancheKorting; }