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"
            });
        }
Ejemplo n.º 3
0
        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 = ""
            }
                                       ));
        }
Ejemplo n.º 4
0
        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
             */
        }