예제 #1
0
        public void DeterminatieGeeftAlsResultaatJuist()
        {
            ResultaatBlad result    = _determinatieTabel.Determineer(_klimatogramMock.Object);
            Resultaat     resultaat = _determinatieTabel.ValideerGebruikerResultaat(result, _klimatogramMock.Object);

            Assert.AreEqual(resultaat, Resultaat.Juist);
        }
예제 #2
0
        public void DeterminerenGeeftJuisteKlimaatTerug()
        {
            ResultaatBlad resultaat = _determinatieTabel.Determineer(_klimatogramMock.Object);
            string        verwacht  = "Gematigd en droog";

            Assert.AreEqual(verwacht, resultaat.KlimaatType);
        }
예제 #3
0
        public DeterminatieTabel MaakDeterminatieTabel()
        {
            DeterminatieTabel dt = new DeterminatieTabel();
            ParameterFactory  _parameterFactory = new ParameterFactory();

            ResultaatBlad jajaResultaatKnoop                      = new ResultaatBlad(new VegetatieType("Ijswoestijnklimaat", ""), "Koud klimaat zonder dooiseizoen");
            ResultaatBlad janeeResultaatKnoop                     = new ResultaatBlad(new VegetatieType("Ijswoestijnklimaat", "Toendraklimaat"), "Koud klimaat met dooiseizoen");
            ResultaatBlad neejaResultaatKnoop                     = new ResultaatBlad(new VegetatieType("Taigaklimaat", ""), "Koudgematigd klimaat met strenge winter");
            ResultaatBlad neeneejajaResultaatKnoop                = new ResultaatBlad(new VegetatieType("Woestijnklimaat van de middelbreedten", ""), "Gematigd altijd droog klimaat");
            ResultaatBlad neeneejaneeResultaatKnoop               = new ResultaatBlad(new VegetatieType("Woestijnklimaat van de tropen", ""), "Warm altijd droog klimaat");
            ResultaatBlad neeneeneejajaResultaatKnoop             = new ResultaatBlad(new VegetatieType("Steppeklimaat", ""), "Gematigd, droog klimaat");
            ResultaatBlad neeneeneejaneejaResultaatKnoop          = new ResultaatBlad(new VegetatieType("Taigaklimaat", ""), "Koudgematigd klimaat met strenge winter");
            ResultaatBlad neeneeneejaneeneejajaResultaatKnoop     = new ResultaatBlad(new VegetatieType("Gemengd-woudklimaat", ""), "Koelgematigd klimaat met koude winter");
            ResultaatBlad neeneeneejaneeneejaneejaResultaatKnoop  = new ResultaatBlad(new VegetatieType("Loofbosklimaat", ""), "Koelgematigd klimaat met zachte winter");
            ResultaatBlad neeneeneejaneeneejaneeneeResultaatKnoop = new ResultaatBlad(new VegetatieType("Subtropisch regenwoudklimaat", ""), "Warmgematigd altijd nat klimaat");
            ResultaatBlad neeneeneejaneeneeneejajaResultaatKnoop  = new ResultaatBlad(new VegetatieType("Hardbladige-vegetatieklimaat van de centrale middelbreedten", ""), "Koelgematigd klimaat met natte winter");
            ResultaatBlad neeneeneejaneeneeneejaneeResultaatKnoop = new ResultaatBlad(new VegetatieType("Hardbladige-vegetatieklimaat van de subtropen", ""), "Warmgematigd klimaat met natte winter");
            ResultaatBlad neeneeneejaneeneeneeneeResultaatKnoop   = new ResultaatBlad(new VegetatieType("Subtropisch savanneklimaat", ""), "Warmgematigd klimaat met natte zomer");
            ResultaatBlad neeneeneeneeneeResultaatKnoop           = new ResultaatBlad(new VegetatieType("Tropisch savanneklimaat", ""), "Warm klimaat met nat seizoen");
            ResultaatBlad neeneeneeneejaResultaatKnoop            = new ResultaatBlad(new VegetatieType("Tropisch regenwoudklimaat", ""), "Warm altijd nat klimaat");


            BeslissingsKnoop jaBeslissingsKnoop                     = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tw"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(0)), jajaResultaatKnoop, janeeResultaatKnoop);
            BeslissingsKnoop neeneejaBeslissingsKnoop               = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tk"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(15)), neeneejajaResultaatKnoop, neeneejaneeResultaatKnoop);
            BeslissingsKnoop neeneeneeneeBeslissingsKnoop           = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("D"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(1)), neeneeneeneejaResultaatKnoop, neeneeneeneeneeResultaatKnoop);
            BeslissingsKnoop neeneeneejaneeneeneejaBeslissingsKnoop = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tw"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(22)), neeneeneejaneeneeneejajaResultaatKnoop, neeneeneejaneeneeneejaneeResultaatKnoop);
            BeslissingsKnoop neeneeneejaneeneeneeBeslissingsKnoop   = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Nz"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakParameter("Nw")), neeneeneejaneeneeneejaBeslissingsKnoop, neeneeneejaneeneeneeneeResultaatKnoop);
            BeslissingsKnoop neeneeneejaneeneejaneeBeslissingsKnoop = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tw"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(22)), neeneeneejaneeneejaneejaResultaatKnoop, neeneeneejaneeneejaneeneeResultaatKnoop);
            BeslissingsKnoop neeneeneejaneeneejaBeslissingsKnoop    = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tk"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(-3)), neeneeneejaneeneejajaResultaatKnoop, neeneeneejaneeneejaneeBeslissingsKnoop);
            BeslissingsKnoop neeneeneejaneeneeBeslissingsKnoop      = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("D"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(1)), neeneeneejaneeneejaBeslissingsKnoop, neeneeneejaneeneeneeBeslissingsKnoop);
            BeslissingsKnoop neeneeneejaneeBeslissingsKnoop         = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tk"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(-10)), neeneeneejaneejaResultaatKnoop, neeneeneejaneeneeBeslissingsKnoop);
            BeslissingsKnoop neeneeneejaBeslissingsKnoop            = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Nj"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(400)), neeneeneejajaResultaatKnoop, neeneeneejaneeBeslissingsKnoop);
            BeslissingsKnoop neeneeneeBeslissingsKnoop              = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tk"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(18)), neeneeneejaBeslissingsKnoop, neeneeneeneeBeslissingsKnoop);
            BeslissingsKnoop neeneeBeslissingsKnoop                 = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Nj"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(200)), neeneejaBeslissingsKnoop, neeneeneeBeslissingsKnoop);
            BeslissingsKnoop neeBeslissingsKnoop                    = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tj"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(0)), neejaResultaatKnoop, neeneeBeslissingsKnoop);
            BeslissingsKnoop hoofdKnoop = new BeslissingsKnoop(new Vergelijking(_parameterFactory.MaakParameter("Tw"), Operator.KleinerDanOfGelijkAan, _parameterFactory.MaakConstanteParameter(10)), jaBeslissingsKnoop, neeBeslissingsKnoop);

            dt.BeginKnoop = hoofdKnoop;

            return(dt);
        }
예제 #4
0
        private DeterminatieTabel MaakKleineDeterminatieTabel()
        {
            //Determinatietabel aanmaken
            DeterminatieTabel tabel = new DeterminatieTabel();



            //Nieuwe vergelijking aanmaken (Tw < 10°C)
            Vergelijking vergelijking = new Vergelijking();

            vergelijking.LinkerParameter  = _parameterFactory.MaakParameter("Tw");
            vergelijking.RechterParameter = _parameterFactory.MaakConstanteParameter(10);
            vergelijking.Operator         = Operator.KleinerDan;

            //Ja knoop aanmaken van de eerste vergelijking
            //Vergelijking aanmaken van de ja knoop (Tw < 0°C)
            Vergelijking vergelijking2 = new Vergelijking();

            vergelijking2.LinkerParameter  = _parameterFactory.MaakParameter("Tw");
            vergelijking2.RechterParameter = _parameterFactory.MaakConstanteParameter(0);
            vergelijking2.Operator         = Operator.KleinerDan;

            //Resultaatknoop voor ja en nee Tw < 0°C
            DeterminatieKnoop resultaatKnoopJa  = new ResultaatBlad(new VegetatieType("IJswoestijn", "../../Content/004.png"), "Koud zonder dooiseizoen");
            DeterminatieKnoop resultaatKnoopNee = new ResultaatBlad(new VegetatieType("Toendra", "../../Content/001.png"), "Koud met dooiseizoen");

            //Ja knoop instellen van de ja tak van de eerste vergelijking
            DeterminatieKnoop jaKnoop = new BeslissingsKnoop(vergelijking2, resultaatKnoopJa, resultaatKnoopNee);

            //Nee knoop aanmaken van de beginknoop
            Vergelijking vergelijking3 = new Vergelijking();

            vergelijking3.LinkerParameter  = _parameterFactory.MaakParameter("Tw4");
            vergelijking3.RechterParameter = _parameterFactory.MaakConstanteParameter(10);
            vergelijking3.Operator         = Operator.KleinerDan;

            //Resultaatknoop aanmaken van vergelijking 3
            DeterminatieKnoop resultaatKnoopJa2 = new ResultaatBlad(new VegetatieType("Taiga", "../../Content/002.png"), "Koud gematigd");

            //Nee knoop aanmaken van vergelijking 3
            Vergelijking vergelijking4 = new Vergelijking();

            vergelijking4.LinkerParameter  = _parameterFactory.MaakParameter("Tk");
            vergelijking4.RechterParameter = _parameterFactory.MaakConstanteParameter(18);
            vergelijking4.Operator         = Operator.KleinerDan;

            //Resultaat knoop nee aanmaken van vergelijking 4
            DeterminatieKnoop resultaatKnoopNee2 = new ResultaatBlad(new VegetatieType("Tropisch savanne", "../../Content/012.png"), "Warm");

            //Vergelijking aanmaken van ja knoop 2
            Vergelijking vergelijking5 = new Vergelijking();

            vergelijking5.LinkerParameter  = _parameterFactory.MaakParameter("Nj");
            vergelijking5.RechterParameter = _parameterFactory.MaakConstanteParameter(400);
            vergelijking5.Operator         = Operator.GroterDan;

            //Resultaat knoop nee aanmaken van vergelijking 5
            DeterminatieKnoop resultaatKnoopNee4 = new ResultaatBlad(new VegetatieType("Steppe", "../../Content/005.png"), "Gematigd en droog");

            //Vergelijking aanmaken van ja knoop 3
            Vergelijking vergelijking6 = new Vergelijking();

            vergelijking6.LinkerParameter  = _parameterFactory.MaakParameter("Tk");
            vergelijking6.RechterParameter = _parameterFactory.MaakConstanteParameter(-3);
            vergelijking6.Operator         = Operator.KleinerDan;

            //Resultaat knoop aanmaken van vergelijking 6
            DeterminatieKnoop resultaatKnoopJa3 = new ResultaatBlad(new VegetatieType("Taiga", "../../Content/002.png"), "Koel gematigd met strenge winter");

            //Vergelijking aanmaken van nee knoop 3
            Vergelijking vergelijking7 = new Vergelijking();

            vergelijking7.LinkerParameter  = _parameterFactory.MaakParameter("Tw");
            vergelijking7.RechterParameter = _parameterFactory.MaakConstanteParameter(22);
            vergelijking7.Operator         = Operator.KleinerDan;

            //Resultaat knoop aanmaken van vergelijking 7
            DeterminatieKnoop resultaatKnoopJa4  = new ResultaatBlad(new VegetatieType("Loofbos", "../../Content/007.png"), "Koel gematigd met zachte winter");
            DeterminatieKnoop resultaatKnoopNee3 = new ResultaatBlad(new VegetatieType("Hardbladige-vegetatie van de subtropen", "../../Content/010.jpg"), "Warm gematigd met natte winter");

            //Nee knoop aanmaken van vergelijking 6
            DeterminatieKnoop neeKnoop3 = new BeslissingsKnoop(vergelijking7, resultaatKnoopJa4, resultaatKnoopNee3);

            //Ja knoop aanmaken van vergelijking 5
            DeterminatieKnoop jaKnoop3 = new BeslissingsKnoop(vergelijking6, resultaatKnoopJa3, neeKnoop3);

            //Ja knoop aanmaken van vergelijking 4
            DeterminatieKnoop jaKnoop2 = new BeslissingsKnoop(vergelijking5, jaKnoop3, resultaatKnoopNee4);

            //Knoop aanmaken van vergelijking 4
            DeterminatieKnoop neeKnoop2 = new BeslissingsKnoop(vergelijking4, jaKnoop2, resultaatKnoopNee2);

            //Knoop aanmaken van vergelijking 3
            DeterminatieKnoop neeKnoop = new BeslissingsKnoop(vergelijking3, resultaatKnoopJa2, neeKnoop2);


            tabel.BeginKnoop = new BeslissingsKnoop(vergelijking, jaKnoop, neeKnoop);

            return(tabel);
        }
예제 #5
0
        /// <summary>
        /// Maakt de determinatietabel aan
        /// Zie DeterminatieTabel mock afbeelding ter referentie en verduidelijking
        /// </summary>
        /// <returns>Retourneert een determinatietabel</returns>

        public DeterminatieTabel MaakDeterminatieTabelEersteGraad()
        {
            //Determinatietabel aanmaken
            DeterminatieTabel tabel = new DeterminatieTabel();

            //Factory aanmaken voor parameters
            ParameterFactory parameterFactory = new ParameterFactory();

            //Nieuwe vergelijking aanmaken (Tw < 10°C)
            Vergelijking vergelijking = new Vergelijking();

            vergelijking.LinkerParameter  = parameterFactory.MaakParameter("Tw");
            vergelijking.RechterParameter = parameterFactory.MaakConstanteParameter(10);
            vergelijking.Operator         = Operator.KleinerDan;

            //Ja knoop aanmaken van de eerste vergelijking
            //Vergelijking aanmaken van de ja knoop (Tw < 0°C)
            Vergelijking vergelijking2 = new Vergelijking();

            vergelijking2.LinkerParameter  = parameterFactory.MaakParameter("Tw");
            vergelijking2.RechterParameter = parameterFactory.MaakConstanteParameter(0);
            vergelijking2.Operator         = Operator.KleinerDan;

            //Resultaatknoop voor ja en nee Tw < 0°C
            DeterminatieKnoop resultaatKnoopJa  = new ResultaatBlad(new VegetatieType("", ""), "Koud zonder dooiseizoen");
            DeterminatieKnoop resultaatKnoopNee = new ResultaatBlad(new VegetatieType("", ""), "Koud met dooiseizoen");

            //Ja knoop instellen van de ja tak van de eerste vergelijking
            DeterminatieKnoop jaKnoop = new BeslissingsKnoop(vergelijking2, resultaatKnoopJa, resultaatKnoopNee);

            //Nee knoop aanmaken van de beginknoop
            Vergelijking vergelijking3 = new Vergelijking();

            vergelijking3.LinkerParameter  = parameterFactory.MaakParameter("Tw4");
            vergelijking3.RechterParameter = parameterFactory.MaakConstanteParameter(10);
            vergelijking3.Operator         = Operator.KleinerDan;

            //Resultaatknoop aanmaken van vergelijking 3
            DeterminatieKnoop resultaatKnoopJa2 = new ResultaatBlad(new VegetatieType("", ""), "Koud gematigd");

            //Nee knoop aanmaken van vergelijking 3
            Vergelijking vergelijking4 = new Vergelijking();

            vergelijking4.LinkerParameter  = parameterFactory.MaakParameter("Tk");
            vergelijking4.RechterParameter = parameterFactory.MaakConstanteParameter(18);
            vergelijking4.Operator         = Operator.KleinerDan;

            //Resultaat knoop nee aanmaken van vergelijking 4
            DeterminatieKnoop resultaatKnoopNee2 = new ResultaatBlad(new VegetatieType("", ""), "Warm");

            //Vergelijking aanmaken van ja knoop 2
            Vergelijking vergelijking5 = new Vergelijking();

            vergelijking5.LinkerParameter  = parameterFactory.MaakParameter("Nj");
            vergelijking5.RechterParameter = parameterFactory.MaakConstanteParameter(400);
            vergelijking5.Operator         = Operator.GroterDan;

            //Resultaat knoop nee aanmaken van vergelijking 5
            DeterminatieKnoop resultaatKnoopNee4 = new ResultaatBlad(new VegetatieType("", ""), "Gematigd en droog");

            //Vergelijking aanmaken van ja knoop 3
            Vergelijking vergelijking6 = new Vergelijking();

            vergelijking6.LinkerParameter  = parameterFactory.MaakParameter("Tk");
            vergelijking6.RechterParameter = parameterFactory.MaakConstanteParameter(-3);
            vergelijking6.Operator         = Operator.KleinerDan;

            //Resultaat knoop aanmaken van vergelijking 6
            DeterminatieKnoop resultaatKnoopJa3 = new ResultaatBlad(new VegetatieType("", ""), "Koel gematigd met strenge winter");

            //Vergelijking aanmaken van nee knoop 3
            Vergelijking vergelijking7 = new Vergelijking();

            vergelijking7.LinkerParameter  = parameterFactory.MaakParameter("Tw");
            vergelijking7.RechterParameter = parameterFactory.MaakConstanteParameter(22);
            vergelijking7.Operator         = Operator.KleinerDan;

            //Resultaat knoop aanmaken van vergelijking 7
            DeterminatieKnoop resultaatKnoopJa4  = new ResultaatBlad(new VegetatieType("", ""), "Koel gematigd met zachte winter");
            DeterminatieKnoop resultaatKnoopNee3 = new ResultaatBlad(new VegetatieType("", ""), "Warm gematigd met natte winter");

            //Nee knoop aanmaken van vergelijking 6
            DeterminatieKnoop neeKnoop3 = new BeslissingsKnoop(vergelijking7, resultaatKnoopJa4, resultaatKnoopNee3);

            //Ja knoop aanmaken van vergelijking 5
            DeterminatieKnoop jaKnoop3 = new BeslissingsKnoop(vergelijking6, resultaatKnoopJa3, neeKnoop3);

            //Ja knoop aanmaken van vergelijking 4
            DeterminatieKnoop jaKnoop2 = new BeslissingsKnoop(vergelijking5, jaKnoop3, resultaatKnoopNee4);

            //Knoop aanmaken van vergelijking 4
            DeterminatieKnoop neeKnoop2 = new BeslissingsKnoop(vergelijking4, jaKnoop2, resultaatKnoopNee2);

            //Knoop aanmaken van vergelijking 3
            DeterminatieKnoop neeKnoop = new BeslissingsKnoop(vergelijking3, resultaatKnoopJa2, neeKnoop2);


            tabel.BeginKnoop = new BeslissingsKnoop(vergelijking, jaKnoop, neeKnoop);

            return(tabel);
        }