public void OperatorNietGelijkAanGeeftCorrecteBoolTerug()
        {
            Vergelijking vergelijking = new Vergelijking(new ParameterTemperatuurKoudsteMaand(), Operator.NietGelijkAan, new ConstanteParameter(0));
            bool         oplossing    = vergelijking.BerekenResultaat(_klimatogramMock.Object);

            Assert.IsTrue(oplossing);
        }
 public void GelijkAanConstructorZetCorrecteBenamingEnSymbool()
 {
     // Act
     vergelijking = new GelijkAan();
     // Assert
     Assert.AreEqual("=", vergelijking.Symbool, "GelijkAan, symbool niet correct.");
     Assert.AreEqual("is gelijk aan", vergelijking.Benaming, "GelijkAan, benaming niet correct.");
 }
 public void GroterDanConstructorZetJuisteBenamingEnSymbool()
 {
     // Act
     vergelijking = new GroterDan();
     // Assert
     Assert.AreEqual(">", vergelijking.Symbool, "GroterDan, symbool niet correct.");
     Assert.AreEqual("is groter dan", vergelijking.Benaming, "GroterDan, benaming niet correct.");
 }
 public void NietGelijkAanConstructorZetJuisteBenamingEnSymbool()
 {
     // Act
     vergelijking = new NietGelijkAan();
     // Assert
     Assert.AreEqual("!=", vergelijking.Symbool, "NietGelijkAan, symbool niet correct.");
     Assert.AreEqual("is niet gelijk aan", vergelijking.Benaming, "NietGelijkAan, benaming niet correct.");
 }
 public void KleinerDanOfGelijkAanConstructorZetJuisteBenamingEnSymbool()
 {
     // Act
     vergelijking = new KleinerDanOfGelijkAan();
     // Assert
     Assert.AreEqual("<=", vergelijking.Symbool, "KleinerDanOfGelijkAan, symbool niet correct.");
     Assert.AreEqual("is kleiner dan of gelijk aan", vergelijking.Benaming, "KleinerDanOfGelijkAan, benaming niet correct.");
 }
 public void GelijkAanMethodeVergelijkGeeftTrueAlsWaardenGelijkZijn()
 {
     // Arrange
     vergelijking = new GelijkAan();
     // Assert
     Assert.IsTrue(vergelijking.Vergelijk(7.5, 7.5));
     Assert.IsTrue(vergelijking.Vergelijk(0, 0));
     Assert.IsTrue(vergelijking.Vergelijk(-99, -99));
 }
Esempio n. 7
0
 public void SetupMijnTestKlasse()
 {
     onwaarVergelijking = new VergelijkingOnwaarDummy();
     waarVergelijking   = new VergelijkingWaarDummy();
     param1             = new ParameterDummy();
     param2             = new ParameterDummy();
     klimatogram        = new KlimatogramNoordDummy();
     vraag = new DeterminatieVraag();
 }
 public void NietGelijkAanMethodeVergelijkGeeftFalseAlsWaardenGelijkZijn()
 {
     // Arrange
     vergelijking = new NietGelijkAan();
     // Assert
     Assert.IsFalse(vergelijking.Vergelijk(7.5, 7.5));
     Assert.IsFalse(vergelijking.Vergelijk(0, 0));
     Assert.IsFalse(vergelijking.Vergelijk(-99, -99));
 }
 public void GroterDanMethodeVergelijkGeeftTrueAlsParam1GroterDanParam2Is()
 {
     // Arrange
     vergelijking = new GroterDan();
     // Assert
     Assert.IsTrue(vergelijking.Vergelijk(1, 0));
     Assert.IsTrue(vergelijking.Vergelijk(1, 0.9999));
     Assert.IsTrue(vergelijking.Vergelijk(-1, -20));
     Assert.IsTrue(vergelijking.Vergelijk(15, -4));
 }
 public void GroterDanOfGelijkAanMethodeVergelijkGeeftFalseAlsParam1KleinerDanParam2Is()
 {
     // Arrange
     vergelijking = new GroterDanOfGelijkAan();
     // Assert
     Assert.IsFalse(vergelijking.Vergelijk(4.999, 5));
     Assert.IsFalse(vergelijking.Vergelijk(4, 5));
     Assert.IsFalse(vergelijking.Vergelijk(-20, -1));
     Assert.IsFalse(vergelijking.Vergelijk(-4, 15));
 }
 public void KleinerDanOfGelijkAanMethodeVergelijkGeeftFalseAlsParam1GroterDanParam2Is()
 {
     // Arrange
     vergelijking = new KleinerDanOfGelijkAan();
     // Assert
     Assert.IsFalse(vergelijking.Vergelijk(2.5, 1));
     Assert.IsFalse(vergelijking.Vergelijk(0.0001, 0));
     Assert.IsFalse(vergelijking.Vergelijk(-1, -1.000001));
     Assert.IsFalse(vergelijking.Vergelijk(7, -5));
 }
 public void KleinerDanMethodeVergelijkGeeftTrueAlsParam1KleinerDanParam2Is()
 {
     // Arrange
     vergelijking = new KleinerDan();
     // Assert
     Assert.IsTrue(vergelijking.Vergelijk(3, 9));
     Assert.IsTrue(vergelijking.Vergelijk(0, 9));
     Assert.IsTrue(vergelijking.Vergelijk(3, 3.0001));
     Assert.IsTrue(vergelijking.Vergelijk(-1, 0));
     Assert.IsTrue(vergelijking.Vergelijk(-3, -2.9999));
 }
 public void NietGelijkAanMethodeVergelijkGeeftTrueAlsWaardenVerschillendZijn()
 {
     // Arrange
     vergelijking = new NietGelijkAan();
     // Assert
     Assert.IsTrue(vergelijking.Vergelijk(7.5, 9));
     Assert.IsTrue(vergelijking.Vergelijk(7.5, 9.95));
     Assert.IsTrue(vergelijking.Vergelijk(0, 9));
     Assert.IsTrue(vergelijking.Vergelijk(9, 0));
     Assert.IsTrue(vergelijking.Vergelijk(-5, 0));
     Assert.IsTrue(vergelijking.Vergelijk(-6.3, -20));
 }
 public void GelijkAanMethodeVergelijkGeeftFalseAlsWaardenNietGelijkZijn()
 {
     // Arrange
     vergelijking = new GelijkAan();
     // Assert
     Assert.IsFalse(vergelijking.Vergelijk(7.5, 9));
     Assert.IsFalse(vergelijking.Vergelijk(7.5, 9.95));
     Assert.IsFalse(vergelijking.Vergelijk(0, 9));
     Assert.IsFalse(vergelijking.Vergelijk(9, 0));
     Assert.IsFalse(vergelijking.Vergelijk(-5, 0));
     Assert.IsFalse(vergelijking.Vergelijk(-6.3, -20));
 }
Esempio n. 15
0
        public virtual bool LosOp(Klimatogram klimatogram)
        {
            if (Parameter1 == null)
            {
                throw new ArgumentException("Parameter1 is null.");
            }
            if (Parameter2 == null)
            {
                throw new ArgumentException("Parameter2 is null.");
            }
            if (Vergelijking == null)
            {
                throw new ArgumentException("Vergelijk is null.");
            }
            if (klimatogram == null)
            {
                throw new ArgumentException("Klimatogram is null.");
            }
            double param1 = Parameter1.GeefParameterWaarde(klimatogram);
            double param2 = Parameter2.GeefParameterWaarde(klimatogram);

            return(Vergelijking.Vergelijk(param1, param2));
        }
Esempio n. 16
0
 public AantalMaandenMetNeerslagParameter(double constante, Vergelijking vergelijking)
 {
     Constante    = constante;
     Vergelijking = vergelijking;
 }
Esempio n. 17
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);
        }
        public Parameter GeefAantalMaandenParameter(AantalMaandenParameterEnum type, double constante, Vergelijking vergelijking)
        {
            if (!aantalMaandenParameters.ContainsKey(type))
            {
                throw new ArgumentException("Het opgegeven parameterType is niet gevonden.");
            }
            Dictionary <Vergelijking, Dictionary <double, Parameter> > paramTypeDictionary = aantalMaandenParameters[type];

            if (!paramTypeDictionary.ContainsKey(vergelijking))
            {
                paramTypeDictionary.Add(vergelijking, new Dictionary <double, Parameter>());
            }
            Dictionary <double, Parameter> vergelijkingTypeDictionary = paramTypeDictionary[vergelijking];

            if (vergelijkingTypeDictionary.ContainsKey(constante))
            {
                return(vergelijkingTypeDictionary[constante]);
            }
            Parameter c;

            if (type == AantalMaandenParameterEnum.aantalMaandenMetTemperatuur)
            {
                c = new AantalMaandenMetTemperatuurParameter(constante, vergelijking);
            }
            else
            {
                c = new AantalMaandenMetNeerslagParameter(constante, vergelijking);
            }
            vergelijkingTypeDictionary.Add(constante, c);
            return(vergelijkingTypeDictionary[constante]);
        }
Esempio n. 19
0
 public override double GeefParameterWaarde(Klimatogram klimatogram)
 {
     return(klimatogram.MaandGegevens.Count(m => Vergelijking.Vergelijk(m.Temperatuur, Constante)));
 }
Esempio n. 20
0
 public AantalMaandenMetTemperatuurParameter(double constante, Vergelijking vergelijking)
 {
     Constante    = constante;
     Vergelijking = vergelijking;
 }
Esempio n. 21
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);
        }