public static Vlucht VluchtUitBestand(string vluchtBestand) { // Bestandsnaam opsporen: FileInfo vluchtBestandInfo = new FileInfo(vluchtBestand); string bestandsNaam = vluchtBestandInfo.Name; // Vluchtobject creëren, bestandsnaam als vluchtcode instellen: Vlucht v = new Vlucht(code: bestandsNaam); // Regels van bestand inlezen in string array: string[] bezettingLijnen = File.ReadAllLines(vluchtBestand); // Elke regel ontleden en in bezettingsobject omzetten: foreach (string bezettingLijn in bezettingLijnen) { // Regel opslitsen: string[] bezettingInfo = bezettingLijn.Split(new char[] { ';' }); // Properties ontleden: string zetel = bezettingInfo[0]; string naam = bezettingInfo[1]; Maaltijd maaltijd = (Maaltijd)Enum.Parse(typeof(Maaltijd), bezettingInfo[2]); // Bezettingsobject creëren: Bezetting b = new Bezetting(zetel, naam) { Maaltijd = maaltijd }; // Bezetting toevoegen aan Bezettingen van Vlucht: v.Bezettingen.Toevoegen(b); } // Vlucht opleveren: return(v); }
// Sorteren (op zetel): public static void OpZetel(List <Bezetting> bezettingenLijst) { for (int indexEersteTeller = 0; indexEersteTeller < bezettingenLijst.Count - 1; indexEersteTeller++) { int indexEerste = indexEersteTeller; for (int index = indexEersteTeller; index <= bezettingenLijst.Count - 1; index++) { if (bezettingenLijst[index].Zetel.CompareTo(bezettingenLijst[indexEerste].Zetel) < 0) { indexEerste = index; } } Bezetting backup = bezettingenLijst[indexEersteTeller]; bezettingenLijst[indexEersteTeller] = bezettingenLijst[indexEerste]; bezettingenLijst[indexEerste] = backup; } }
private static void TestBezetting() { Bezetting b = new Bezetting(zetel: "A1", passagiernaam: "Jan"); Test(b.Zetel == "A1", "Constructor stelt Zetel property in."); Test(b.Passagiernaam == "Jan", "Constructor stelt Passagiernaam property in."); Test(b.Maaltijd == Maaltijd.Standaard, "By default standaard maaltijd."); b.Zetel = "B1"; Test(b.Zetel == "B1", "Setter van Zetel property."); b.Passagiernaam = "Pol"; Test(b.Passagiernaam == "Pol", "Setter van Passagiernaam property."); b.Maaltijd = Maaltijd.Vegetarisch; Test(b.Maaltijd == Maaltijd.Vegetarisch, "Setter van Maaltijd property."); Console.WriteLine(); }
private static void TestBezettingen() { Bezettingen bn = new Bezettingen(); Test(bn.Aantal == 0, "Starten van een lege bezettingen lijst."); Test(bn.BevatBezettingMetZetel("A1") == false, "Geen bezetting teruggevonden voor zetel A1."); Test(bn.BevatBezettingMetZetel("A2") == false, "Geen bezetting teruggevonden voor zetel A2."); Test(bn.BevatBezettingMetZetel("A3") == false, "Geen bezetting teruggevonden voor zetel A3."); Bezetting b1 = new Bezetting("A1", "Jan") { Maaltijd = Maaltijd.Standaard }; Bezetting b2 = new Bezetting("A2", "Pol S.") { Maaltijd = Maaltijd.Standaard }; Bezetting b3 = new Bezetting("A3", "Jacques") { Maaltijd = Maaltijd.Vegetarisch }; bn.Toevoegen(b1); Test(bn.Aantal == 1, "1 bezetting na toevoegen eerste bezetting (zetel A1)."); Test(bn.AantalMaaltijden(Maaltijd.Standaard) == 1, "1 standaard maaltijd"); Test(bn.AantalMaaltijden(Maaltijd.Vegetarisch) == 0, "0 vegetarische maaltijden"); Test(bn[0] == b1, "Bezetting opvraagbaar op index 0."); Test(bn[1] == null, "Geen bezetting opvraagbaar op index 1."); Test(bn[2] == null, "Geen bezetting opvraagbaar op index 2."); Test(bn["A1"] == b1, "Bezetting opvraagbaar voor zetel A1."); Test(bn["A2"] == null, "Geen bezetting opvraagbaar voor zetel A2."); Test(bn["A3"] == null, "Geen bezetting opvraagbaar voor zetel A3."); Test(bn.BevatBezettingMetZetel("A1"), "Bezetting teruggevonden voor zetel A1."); Test(bn.BevatBezettingMetZetel("A2") == false, "Geen bezetting teruggevonden voor zetel A2."); Test(bn.BevatBezettingMetZetel("A3") == false, "Geen bezetting teruggevonden voor zetel A3."); bn.Toevoegen(b2); Test(bn.Aantal == 2, "2 bezettingen na toevoegen tweede bezetting (zetel A2)."); Test(bn.AantalMaaltijden(Maaltijd.Standaard) == 2, "2 standaard maaltijden"); Test(bn.AantalMaaltijden(Maaltijd.Vegetarisch) == 0, "0 vegetarische maaltijden"); Test(bn[0] == b1, "Bezetting opvraagbaar op index 0."); Test(bn[1] == b2, "Bezetting opvraagbaar op index 1."); Test(bn[2] == null, "Geen bezetting opvraagbaar op index 2."); Test(bn["A1"] == b1, "Bezetting opvraagbaar voor zetel A1."); Test(bn["A2"] == b2, "Bezetting opvraagbaar voor zetel A2."); Test(bn["A3"] == null, "Geen bezetting opvraagbaar voor zetel A3."); Test(bn.BevatBezettingMetZetel("A1"), "Bezetting teruggevonden voor zetel A1."); Test(bn.BevatBezettingMetZetel("A2"), "Bezetting teruggevonden voor zetel A2."); Test(bn.BevatBezettingMetZetel("A3") == false, "Geen bezetting teruggevonden voor zetel A3."); bn.Toevoegen(b3); Test(bn.Aantal == 3, "3 bezettingen na toevoegen derde bezetting (zetel A3)."); Test(bn.AantalMaaltijden(Maaltijd.Standaard) == 2, "2 standaard maaltijden"); Test(bn.AantalMaaltijden(Maaltijd.Vegetarisch) == 1, "1 vegetarische maaltijd"); Test(bn[0] == b1, "Bezetting opvraagbaar op index 0."); Test(bn[1] == b2, "Bezetting opvraagbaar op index 1."); Test(bn[2] == b3, "Bezetting opvraagbaar op index 2."); Test(bn["A1"] == b1, "Bezetting opvraagbaar voor zetel A1."); Test(bn["A2"] == b2, "Bezetting opvraagbaar voor zetel A2."); Test(bn["A3"] == b3, "Bezetting opvraagbaar voor zetel A3."); Test(bn.BevatBezettingMetZetel("A1"), "Bezetting teruggevonden voor zetel A1."); Test(bn.BevatBezettingMetZetel("A2"), "Bezetting teruggevonden voor zetel A2."); Test(bn.BevatBezettingMetZetel("A3"), "Bezetting teruggevonden voor zetel A3."); List <Bezetting> bl = bn.Vind("JA"); Test(bl.Count == 2, "2 bezettingen voor passagier met tekst 'ja' in zijn naam."); Test(bl.Contains(b1) == true, "Bezetting voor Jan is gevonden."); Test(bl.Contains(b3) == true, "Bezetting voor Jacques is gevonden."); bl = bn.Vind("s"); Test(bl.Count == 2, "2 bezettingen voor passagier met tekst 's' in zijn naam."); Test(bl.Contains(b2) == true, "Bezetting voor Pol S. is gevonden."); Test(bl.Contains(b3) == true, "Bezetting voor Jacques is gevonden."); bl = bn.Vind("JA"); Test(bl.Count == 2, "2 bezettingen voor passagier met tekst 'JA' in zijn naam."); bl = bn.Vind(""); Test(bl.Count == 3, "3 bezettingen voor passagier met tekst '' in zijn naam."); bl = bn.Vind("", Maaltijd.Standaard); Test(bl.Count == 2, "2 bezettingen voor passagiers met maaltijdtype standaard."); bl = bn.Vind("", Maaltijd.Vegetarisch); Test(bl.Count == 1, "1 bezetting voor passagiers met maaltijdtype vegitarisch."); bl = bn.Vind("ja", Maaltijd.Standaard); Test(bl.Count == 1, "1 bezetting vr passagiers met maaltijdtype standaard & tekst 'ja' in naam"); bn.Verwijder("A1"); Test(bn.Aantal == 2, "2 bezettingen na het verwijderen van bezetting (zetel A1)."); Test(bn[0] == b2, "Overige bezetting nog opvraagbaar op index 0."); Test(bn[1] == b3, "Overige bezetting nog opvraagbaar op index 1."); Test(bn["A1"] == null, "Geen bezetting opvraagbaar voor zetel A1."); Test(bn["A2"] == b2, "Bezetting opvraagbaar voor zetel A2."); Test(bn["A3"] == b3, "Bezetting opvraagbaar voor zetel A3."); Test(bn.BevatBezettingMetZetel("A1") == false, "Geen bezetting teruggevonden voor zetel A1."); Test(bn.BevatBezettingMetZetel("A2"), "Bezetting teruggevonden voor zetel A2."); Test(bn.BevatBezettingMetZetel("A3"), "Bezetting teruggevonden voor zetel A3."); bn.Verwijder("A4"); Test(bn.Aantal == 2, "Nog altijd 2 bezettingen na verwijderen ahv onbestaande zetel (zetel A4)."); bn.Legen(); Test(bn.Aantal == 0, "0 bezettingen na legen."); Test(bn.BevatBezettingMetZetel("A2") == false, "Geen bezetting teruggevonden voor zetel A2."); Test(bn.BevatBezettingMetZetel("A3") == false, "Geen bezetting teruggevonden voor zetel A3."); Console.WriteLine(); }