public void VraagNodeVoegKindToeAanJaNodePlaatstZichzelfAlsOuder()
 {
     Node n = new VraagNode(vraagWaar);
     Node dummy = new KenmerkNode(kenmerk);
     n.VoegKindToeAanJaNode(dummy);
     Assert.AreEqual(n, ((VraagNode)n).JaKind.Ouder);
 }
 public void VraagNodeVoegKindToeAanJaNodePlaatstKindInJaNode()
 {
     Node n = new VraagNode(vraagWaar);
     Node dummy = new KenmerkNode(kenmerk);
     n.VoegKindToeAanJaNode(dummy);
     Assert.AreEqual(dummy, ((VraagNode)n).JaKind);
 }
 public void VraagNodeVoegKindToeAanJaNodeGooitArgumentExceptionBijNull()
 {
     Node n = new VraagNode(vraagWaar);
     n.VoegKindToeAanJaNode(null);
 }
 public void VraagNodeDetermineerKenmerkGooitInvalidOperationAlsNeeKindNullIs()
 {
     Node n = new VraagNode(vraagWaar);
     n.VoegKindToeAanJaNode(new KenmerkNode(kenmerk));
     n.DetermineerKenmerk(noordKlimatogram);
 }
 public void VraagNodeDetermineerKenmerkGeeftOplossingNeeKindAlsVraagValsIs()
 {
     Node n = new VraagNode(vraagOnwaar);
     n.VoegKindToeAanJaNode(new KenmerkNode(new Kenmerk()));
     n.VoegKindToeAanNeeNode(new KenmerkNode(kenmerk));
     Assert.AreEqual(kenmerk, n.DetermineerKenmerk(noordKlimatogram));
 }
        public void BuildUpTheTrees()
        {
            // Kenmerken opstellen
            correctKenmerk = new Kenmerk();
            correctKenmerk.KlimaatKenmerk = "correct";
            foutiefKenmerk = new Kenmerk();
            foutiefKenmerk.KlimaatKenmerk = "foutief";

            // KlimatogramVragen opstellen
            vraagWaar = new KlimatogramVraagWaarDummy();
            vraagOnwaar = new KlimatogramVraagOnwaarDummy();

            // Klimatogram opstellen
            klimatogram = new KlimatogramNoordDummy();

            /*
             * Tree 1 opstellen
             * Kc
             */
            //Root zetten
            rootTree1 = new KenmerkNode(correctKenmerk);
            correctNodeTree1 = rootTree1;

            /*
             * Tree 2 opstellen
             * T -> Kc
             * Kw
             */
            //T
            Node vNode = new VraagNode(vraagWaar);
            correctNodeTree2 = new KenmerkNode(correctKenmerk);

            vNode.VoegKindToeAanJaNode(correctNodeTree2);
            vNode.VoegKindToeAanNeeNode(new KenmerkNode(foutiefKenmerk));
            //Root zetten
            rootTree2 = vNode;

            /*
             * Tree 3 opstellen
             * F2 -> T3 -> Kw
             *      Kw
             * T2 -> F1 -> Kw
             *      Kc
             * T1 -> Kw
             * Kw
             */
            //T1
            VraagNode t1 = new VraagNode(vraagWaar);
            correctNodeTree3 = new KenmerkNode(correctKenmerk);

            t1.VoegKindToeAanJaNode(new KenmerkNode(foutiefKenmerk));
            t1.VoegKindToeAanNeeNode(new KenmerkNode(foutiefKenmerk));
            //F1
            VraagNode f1 = new VraagNode(vraagOnwaar);
            f1.VoegKindToeAanJaNode(new KenmerkNode(foutiefKenmerk));
            f1.VoegKindToeAanNeeNode(correctNodeTree3);
            //T2
            VraagNode t2 = new VraagNode(vraagWaar);
            t2.VoegKindToeAanJaNode(f1);
            t2.VoegKindToeAanNeeNode(t1);
            //T3
            VraagNode t3 = new VraagNode(vraagWaar);
            t3.VoegKindToeAanJaNode(new KenmerkNode(foutiefKenmerk));
            t3.VoegKindToeAanNeeNode(new KenmerkNode(foutiefKenmerk));
            //F2
            VraagNode f2 = new VraagNode(vraagOnwaar);
            f2.VoegKindToeAanJaNode(t3);
            f2.VoegKindToeAanNeeNode(t2);
            //Root zetten
            rootTree3 = f2;
        }