public void constructDecisionTree() { DecisionTreeNode a = new DecisionTreeNode(ds); MvcMovie.Models.DataSet bD = new MvcMovie.Models.DataSet(ds.filterTable("Income", "< R15k")); MvcMovie.Models.DataSet cD = new MvcMovie.Models.DataSet(ds.filterTable("Income", "R15k - R35k")); MvcMovie.Models.DataSet dD = new MvcMovie.Models.DataSet(ds.filterTable("Income", "> R35k")); MvcMovie.Models.DataSet eD = new MvcMovie.Models.DataSet(cD.filterTable("CreditHistory", "BAD")); MvcMovie.Models.DataSet fD = new MvcMovie.Models.DataSet(cD.filterTable("CreditHistory", "GOOD")); MvcMovie.Models.DataSet gD = new MvcMovie.Models.DataSet(cD.filterTable("CreditHistory", "UNKNOWN")); MvcMovie.Models.DataSet hD = new MvcMovie.Models.DataSet(dD.filterTable("CreditHistory", "BAD")); MvcMovie.Models.DataSet iD = new MvcMovie.Models.DataSet(dD.filterTable("CreditHistory", "GOOD")); MvcMovie.Models.DataSet jD = new MvcMovie.Models.DataSet(dD.filterTable("CreditHistory", "UNKNOWN")); MvcMovie.Models.DataSet kD = new MvcMovie.Models.DataSet(gD.Copy().filterTable("Debt", "HIGH")); MvcMovie.Models.DataSet lD = new MvcMovie.Models.DataSet(gD.Copy().filterTable("Debt", "LOW")); a.recursivelyConstructDecisionTreeLevels(a); Console.Write("Constructed node b is: "); a.decisionChildren[0].ds.printDataSet(); Console.Write("Manual node b is: "); bD.printDataSet(); Assert.IsTrue(a.decisionChildren[0].ds.isDataSetSame(bD)); Assert.IsTrue(a.decisionChildren[1].ds.isDataSetSame(cD)); Assert.IsTrue(a.decisionChildren[2].ds.isDataSetSame(dD)); Assert.IsTrue(a.decisionChildren[1].decisionChildren[0].ds.isDataSetSame(gD)); Assert.IsTrue(a.decisionChildren[1].decisionChildren[1].ds.isDataSetSame(fD)); Assert.IsTrue(a.decisionChildren[1].decisionChildren[2].ds.isDataSetSame(eD)); Assert.IsTrue(a.decisionChildren[2].decisionChildren[0].ds.isDataSetSame(jD)); Assert.IsTrue(a.decisionChildren[2].decisionChildren[1].ds.isDataSetSame(hD)); Assert.IsTrue(a.decisionChildren[2].decisionChildren[2].ds.isDataSetSame(iD)); Assert.IsTrue(a.decisionChildren[1].decisionChildren[0].decisionChildren[0].ds.isDataSetSame(kD)); Assert.IsTrue(a.decisionChildren[1].decisionChildren[0].decisionChildren[1].ds.isDataSetSame(lD)); }
public void isTableFilteringCorrectly1() { ds.filterTable("Income", "< R15k"); }