public void ParameterAantalDrogeMaandenBerekentCorrecteWaarde()
        {
            Parameter p        = new ParameterAantalDrogeMaanden();
            int       verwacht = _mockKlimatogram.Object.Maanden.Count(m => m.Neerslag / 2.0 <= m.Temperatuur);

            Assert.AreEqual(verwacht, p.BerekenWaarde(_mockKlimatogram.Object));
        }
        public void ParamaterAantalDrogeMaandenGeeftalleMogelijkeAntwoorden()
        {
            Parameter p = new ParameterAantalDrogeMaanden();

            ICollection <string> mogelijkeAntwoorden = p.GeefMogelijkeAntwoorden(_mockKlimatogram.Object);
            ICollection <string> verwacht            = Enumerable.Range(0, 13).Select(i => i.ToString()).ToList();

            CollectionAssert.AreEquivalent(verwacht.ToList(), mogelijkeAntwoorden.ToList());
        }
        public Parameter MaakParameter(string code)
        {
            switch (code)
            {
            case "Warmste Maand":
                return(_parameters[0] ??
                       (_parameters[0] = new ParameterWarmsteMaand()
                {
                    ParameterId = "Warmste Maand"
                }));

            case "Koudste Maand":
                return(_parameters[1] ??
                       (_parameters[1] = new ParameterKoudsteMaand()
                {
                    ParameterId = "Koudste Maand"
                }));

            case "Tw":
                return(_parameters[2] ??
                       (_parameters[2] = new ParameterTemperatuurWarmsteMaand()
                {
                    ParameterId = "Tw"
                }));

            case "Tk":
                return(_parameters[3] ??
                       (_parameters[3] = new ParameterTemperatuurKoudsteMaand()
                {
                    ParameterId = "Tk"
                }));

            case "Nz":
                return(_parameters[4] ??
                       (_parameters[4] = new ParameterNeerslagZomer()
                {
                    ParameterId = "Nz"
                }));

            case "Nw":
                return(_parameters[5] ??
                       (_parameters[5] = new ParameterNeerslagWinter()
                {
                    ParameterId = "Nw"
                }));

            case "D":
                return(_parameters[6] ??
                       (_parameters[6] = new ParameterAantalDrogeMaanden()
                {
                    ParameterId = "D"
                }));

            case "Tj":
                return(_parameters[7] ??
                       (_parameters[7] = new ParameterGemiddeldeTemperatuurJaar()
                {
                    ParameterId = "Tj"
                }));

            case "Nj":
                return(_parameters[8] ??
                       (_parameters[8] = new ParameterTotaleNeerslagJaar()
                {
                    ParameterId = "Nj"
                }));

            case "Tw4":
                return(_parameters[9] ??
                       (_parameters[9] = new TemperatuurVierdeWarmsteMaandParameter()
                {
                    ParameterId = "T 4de Warmste Maand"
                }));

            default:
                throw new ArgumentException("Er werd een ongeldige code meegegeven");
            }
        }