public DeterminatieTreeViewModel(DeterminatieTree tree)
 {
     Breedte = 0;
     Hoogte = 0;
     Graad = tree.Graad;
     Root = InitStack(tree.Root, 0, tree.GeefHuidigeNode());
 }
        public DeterminatieTreeRepositoryDummy()
        {
            /*
                 * Test determinatietabel maken
                 *
                 * Rechts is ja
                 * Omlaag is nee
                 *
                 * Tw <= 10
                 *
                 */
            Parameter temperatuurWarmsteMaand = new TemperatuurWarmsteMaandParameter();
            Parameter constanteTien = new ConstanteWaardeParameter(10);
            Vergelijking kleinerDanOfGelijkAan = new KleinerDanOfGelijkAan();
            DeterminatieVraag determinatieVraag = new DeterminatieVraag();

            determinatieVraag.Parameter1 = temperatuurWarmsteMaand;
            determinatieVraag.Parameter2 = constanteTien;
            determinatieVraag.Vergelijking = kleinerDanOfGelijkAan;

            Kenmerk koudKenmerk = new Kenmerk();
            koudKenmerk.KlimaatKenmerk = "Heel koud klimaat";
            koudKenmerk.VegetatieKenmerk = "Ijsplanten";

            Kenmerk warmKenmerk = new Kenmerk();
            warmKenmerk.KlimaatKenmerk = "Warm klimaat";
            warmKenmerk.VegetatieKenmerk = "Bloemen";

            root = new VraagNode(determinatieVraag);
            root.VoegKindToeAanJaNode(new KenmerkNode(koudKenmerk));
            root.VoegKindToeAanNeeNode(new KenmerkNode(warmKenmerk));

            current = new DeterminatieTree(root, Graad.graad2);
        }
 public ICollection<DeterminatieTree> FindByGraad(Graad graad)
 {
     IList<DeterminatieTree> list = new List<DeterminatieTree>();
     current = new DeterminatieTree(root, graad);
     list.Add(current);
     return list;
 }
 public void IsBeginGeeftFalseNaEenStapVerder()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapVerder(false);
     Assert.IsFalse(tree.IsBegin());
 }
 public void DetermineerKenmerkGeeftCorrecteKenmerkTerug()
 {
     tree = new DeterminatieTree(rootTree1, Graad.graad2);
     Assert.AreEqual(correctKenmerk, tree.DetermineerKenmerk(klimatogram));
 }
 public void StapVerderVoegtKeuzeToeAanLeerlingKeuzes()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapVerder(true);
     Assert.AreEqual(1, tree.Keuzes.Count);
     Assert.IsTrue(tree.Keuzes[0]);
 }
 public void StapVerderGaatNaarHetJuisteKindEnGeeftDitTerug()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     Node n = tree.StapVerder(true);
     Assert.AreEqual(correctNodeTree2, n);
 }
 public void StapTerugGooitInvalidOperationOpRootNode()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapTerug();
 }
 public void NieuweTreeMaaktLegeLijstVanLeerlingKeuzes()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     Assert.IsNotNull(tree.Keuzes);
     Assert.AreEqual(0, tree.Keuzes.Count);
 }
 public void IsCompleetGeeftTrueAlsCurrentEenLeafIs()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapVerder(false);
     Assert.IsTrue(tree.IsCompleet());
 }
 public void GeefDeterminatieVraagGeeftCorrecteVraagTerug()
 {
     tree = new DeterminatieTree(rootTree3, Graad.graad2);
     Assert.IsNotNull(tree.GeefDeterminatieVraag());
     Assert.AreEqual(vraagOnwaar, tree.GeefDeterminatieVraag());
 }
 public void GaNaarLaatsteCorrecteStapGooitInvalidOperationExceptionAlsDeterminatieNietCompleetIs()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.GaNaarLaatsteCorrecteStap(klimatogram);
 }
 public void GaNaarLaatsteCorrecteStapGeeftRootBijDiepte1()
 {
     tree = new DeterminatieTree(rootTree1, Graad.graad1);
     Node n = tree.GaNaarLaatsteCorrecteStap(klimatogram);
     Assert.AreEqual(rootTree1, n);
     Assert.AreEqual(rootTree1, tree.GeefHuidigeNode());
 }
 public void GaNaarLaatsteCorrecteStapGeeftRootAlsDitLaatsteCorrecteStapIs()
 {
     tree = new DeterminatieTree(rootTree3, Graad.graad2);
     tree.StapVerder(true);
     tree.StapVerder(false);
     Node n = tree.GaNaarLaatsteCorrecteStap(klimatogram);
     Assert.AreEqual(rootTree3, n);
     Assert.AreEqual(rootTree3, tree.GeefHuidigeNode());
 }
 public void GaNaarLaatsteCorrecteStapGeeftCorrecteNode()
 {
     tree = new DeterminatieTree(rootTree3, Graad.graad2);
     tree.StapVerder(false);
     tree.StapVerder(true);
     tree.StapVerder(true);
     Node current = rootTree3;
     current = ((VraagNode) current).NeeKind;
     current = ((VraagNode) current).JaKind;
     Assert.AreEqual(current, tree.GaNaarLaatsteCorrecteStap(klimatogram));
     Assert.AreEqual(current, tree.GeefHuidigeNode());
 }
 public void DetermineerKenmerkGooitArgumentExceptionAlsKlimatogramNullIs()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.DetermineerKenmerk(null);
 }
 public void DetermineerKenmerkGeeftCorrecteKenmerkTerugBijDiepteGroterDan1()
 {
     //Test met diepte 2
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     Assert.AreEqual(correctKenmerk, tree.DetermineerKenmerk(klimatogram));
     //Test met diepte 3
     tree = new DeterminatieTree(rootTree3, Graad.graad2);
     Assert.AreEqual(correctKenmerk, tree.DetermineerKenmerk(klimatogram));
 }
 public void IsBeginGeeftTrueBijEenNieuweTreeMetDiepteGroterDan1()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     Assert.IsTrue(tree.IsBegin());
 }
 public void IsCompleetGeeftFalseBijEenNieuweTreeAlsTreeDieperDan1NodeIs()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     Assert.IsFalse(tree.IsCompleet());
 }
 public void GeefDeterminatieVraagGooitInvalidOperationAlsHuidigeEenLeafIs()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapVerder(true);
     tree.GeefDeterminatieVraag();
 }
 public void IsCompleetGeeftTrueBijEenNieuweTreeAlsTree1NodeDiepIs()
 {
     tree = new DeterminatieTree(rootTree1, Graad.graad1);
     Assert.IsTrue(tree.IsCompleet());
 }
 public void GeefDeterminatieVraagGooitInvalidOperationBijTreeMetDiepte1()
 {
     tree = new DeterminatieTree(rootTree1, Graad.graad2);
     tree.GeefDeterminatieVraag();
 }
 public void StapTerugGeeftCorrecteNodeTerug()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapVerder(false);
     Node n = tree.StapTerug();
     Assert.AreEqual(rootTree2, n);
 }
 public void GeefHuidigeNodeGeeftCorrecteNodeNaStapVerder()
 {
     Node jNode = ((VraagNode) rootTree3).JaKind;
     tree = new DeterminatieTree(rootTree3, Graad.graad3);
     tree.StapVerder(true);
     Assert.AreEqual(jNode, tree.GeefHuidigeNode());
 }
 public void StapTerugVerwijdertLaatsteKeuzeUitLeerlingKeuzes()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.StapVerder(false);
     Assert.AreEqual(1, tree.Keuzes.Count);
     tree.StapTerug();
     Assert.AreEqual(0, tree.Keuzes.Count);
 }
 public void GeefHuidigeNodeGeeftRootAlsBijEenNieuweTree()
 {
     tree = new DeterminatieTree(rootTree3, Graad.graad2);
     Assert.IsNotNull(tree.GeefHuidigeNode());
     Assert.AreEqual(rootTree3, tree.GeefHuidigeNode());
 }
 public void StapVerderOpLeafGooitInvalidOperation()
 {
     tree = new DeterminatieTree(rootTree1, Graad.graad2);
     tree.StapVerder(true);
 }
 public void GeefKenmerkGooitInvalidOperationExceptionAlsHuidigeNodeGeenLeafIs()
 {
     tree = new DeterminatieTree(rootTree2, Graad.graad2);
     tree.GeefKenmerk();
 }
 public void GeefKenmerkGeeftHetCorrecteKenmerkAlsHuidigeEenLeafIs()
 {
     tree = new DeterminatieTree(rootTree3, Graad.graad2);
     tree.StapVerder(false);
     tree.StapVerder(true);
     tree.StapVerder(false);
     Assert.AreEqual(correctKenmerk, tree.GeefKenmerk());
 }
 public void DeterminatieTreeConstructorGooitArgumentExceptionAlsRootNodeNullIs()
 {
     tree = new DeterminatieTree(null, Graad.graad2);
 }