private static void DoeExtras()
        {
            Console.WriteLine();
            Console.WriteLine("++++++++++++++++ EXTRA (poor man's testing ;-) ) +++++++++++++++");
            Console.WriteLine();
            // check negatieve aankoopprijs boek
            try
            {
                Leesboek boek2 = new Leesboek(new Genre { Leeftijd = 17 }, "titeltje", "auteurtje", -250m, "een onderwerp");
            }
            catch (NegatiefGetalException ex)
            {
                Console.WriteLine("Fout:" + ex.Message + ':' + ex.Getal);
            }

            // check negatieve leeftijd
            try
            {
                Woordenboek woordenboek2 = new Woordenboek(new Genre { Leeftijd = -5 }, "titeltjeW", "auteurtjeW", 20m, "Nederlands-Engels");
            }
            catch (NegatiefGetalException ex)
            {
                Console.WriteLine("Fout:" + ex.Message + ':' + ex.Getal);
            }

            // check negatieve aankoopprijs boekenrek
            try
            {
                IVoorwerpen eenBoekenrekVoorwerp = new Boekenrek(2.15d, 0.95d, -50m);
                // check toegankelijkheid readonly property: da ga dus nie, joepi...?! : ((Boekenrek)EenBoekerrekVoorwerp).Breedte = 5d;
            }
            catch (NegatiefGetalException ex)
            {
                Console.WriteLine("Fout:" + ex.Message + ':' + ex.Getal);
            }

            // check lege Titel (Lees)Boek
            try
            {
                Leesboek boek3 = new Leesboek(new Genre { Leeftijd = 17 }, "   ", "auteurtje", 250m, "een onderwerp");
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine("Fout:" + ex.Message);
            }

            // check null Auteur (Woorden)Boek
            try
            {
                Woordenboek woordenboek3 = new Woordenboek(new Genre { Leeftijd = 17 }, "jep", null, 250m, "een taal");
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine("Fout:" + ex.Message);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            // voorwerpen maken
            IVoorwerpen[] voorwerpen = new IVoorwerpen[3];
            voorwerpen[0] = new Boekenrek(2.15d, 0.95d, 50m);

            Leesboek boek = new Leesboek(new Genre { Leeftijd = 17 }, "titeltje", "auteurtje", 250m, "een onderwerp");
            Woordenboek woordenboek = new Woordenboek(new Genre { Leeftijd = 18 }, "titeltjeW", "auteurtjeW", 20m, "Nederlands-Engels");

            voorwerpen[1] = boek;
            voorwerpen[2] = woordenboek;

            // print alle IVoorwerpen (gewoon lusje)
            Console.WriteLine("- gewoon lusje:");
            foreach (IVoorwerpen voorwerp in voorwerpen)
            {
                if (voorwerp != null)
                {
                    voorwerp.GegevensTonen();
                }
            }

            PrintTussenLijn();

            // print alle IVoorwerpen (delegate)
            Console.WriteLine("- delegate:");
            Action<IVoorwerpen[]> toonDeGegevenes = voorwerpDinges =>
            {
                foreach (IVoorwerpen voorwerpje in voorwerpDinges) if (voorwerpje != null)
                    { voorwerpje.GegevensTonen(); }
            };
            toonDeGegevenes(voorwerpen);

            PrintTussenLijn();

            // print totale winst
            Console.WriteLine("totale winst = {0}", voorwerpen.Sum(voorwerp =>
            {
                if (voorwerp != null) return voorwerp.Winst;
                else return 0;
            }));

            //++++++ BEGIN extra blabla ++++++
            DoeExtras();
            //++++++ EINDE extra blabla ++++++

            // hou console open
            Console.WriteLine();
            Console.WriteLine("+----+ press <enter> to quit +----+");
            Console.Read();
        }