static void Main(string[] args) { /* INITIALIZER */ Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5CHIF"].AddSchueler(sch); // Das geht nicht, da id 1 doppelt ist. s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Nachname = "Mustermann2", Vorname = "Max2" }); }
public void TestAddSchueler() { Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5BHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 2, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 3, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 4, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 5, Vorname = "", Nachname = "" }); // Prüfen, wenn der Schüler NULL ist Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler(null)); // Zuordnung OK? Assert.AreEqual <Schueler>(sch, s.Klassen["5CHIF"].FindSchuelerById(1)); // Mehr als 5 Schüler gehen nicht? Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler( new Schueler() { Id = 6, Vorname = "", Nachname = "" } )); // Das geht nicht, da id 1 doppelt ist. s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Nachname = "Mustermann2", Vorname = "Max2" }); }
public void TestAddSchueler() { Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5BHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(sch); //Was passiert wenn das Schülerobjekt null ist Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler(null)); //Ist der Schüler wirklich in der 5CHIF? /* * if (s.Klassen["5CHIF"].FindSchuelerById(1) == sch) * { * //TEST OK!!! * } */ //Das ist der obere if, was erwarte ich (1. Parameter) und was ist gespeichert worden (2. Parameter) //Prüfe ob die Zordnung der Klasse funktioniert hat? Assert.AreEqual <Schueler>(sch, s.Klassen["5CHIF"].FindSchuelerById(1)); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 2, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 3, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 4, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 5, Vorname = "", Nachname = "" }); // Mehr als 5 Schüler sollten nicht klappen Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler( new Schueler() { Id = 6, Vorname = "", Nachname = "" } )); }
static void Main(string[] args) { /* * Model muss als Reference eingebunden werden --> References --> Add Reference --> Project --> SchulVw.Model * Model.Schule s = new Schule(); --> ebenfalls möglich * Lämpchen --> using [...] nutzen. * * keine Konstrukturen in C# (in Datenhaltendenklassen, bei DB Verbindungen beispielsweise schon) bzw. so gut wie es geht * vermeiden * INITIALIZER Objekt obj = new Objekt() { Property = value, Property2 = value, .... } */ Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; //Gefahr beim direkten Anlegen über new, Referenz verschwinden! s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); /* * Schüler wird erstellt und in die 5CHIF geschmissen. * [..] ==> Indexer. Greife über einen Key auf einen Wert zu. (Array Index, 0,1,2,3,....) * F12 ==> Go to Definition */ Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5CHIF"].AddSchueler(sch); //Umstellen auf bool der void Methoden AddSchueler und AddKlasse ==> returned true/false "Exception"-freundlicher //Geht nicht, weil die Id doppelt ist ==> 1 s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Vorname = "Max2", Nachname = "Mustermann2" }); //Wirft Exeception (Navigation Property) //s.FindSchuelerById(1).Klasse = s.Klassen["5BHIF"]; //s.Klassen["5BHIF"].AddSchueler(sch); /* * Vgl. Klasse.cs ==> Codezeile public List<Schueler> Schueler { get; } = new List<Schueler>(); * bzw. * Codezeile.cs Codezeile: public Dictionary<string, Klasse> Klassen { get; } = new Dictionary<string, Klasse>(); * * * Person p = new Person() { Name = "A" }; * Person p2 = p; * p2.Name = "A2"; * Was liefert p.Name? --> Antwort: A2 * * List<Person> pl = new List<Person>() { p }; * p.Name = "A3"; * Was liefert p.Name? --> Antwort: A3 */ }