public void TestNextQuestion()
        {
            IDataSource      dataSource = new DataSource.DataSource(BuildStaticDoughnutTree());
            IDecisionService service    = new DecisionService(dataSource);

            Assert.Equal(dataSource.DecisionTree.LeafN.Statement, service.GetCurrentQuestion(new List <bool> {
                false
            }));
            //Assert.(3, _service.GetTreeMaxpath());
        }
        public void TestInvalidAnswer()
        {
            IDataSource      dataSource = new DataSource.DataSource(BuildStaticDoughnutTree());
            IDecisionService service    = new DecisionService(dataSource);

            Assert.Throws <NodeNotFoundException>(() => service.GetCurrentQuestion(new List <bool> {
                false, false
            }));
            Assert.Throws <NodeNotFoundException>(() => service.GetCurrentQuestion(new List <bool> {
                true, true, true, true
            }));
            Assert.Throws <NodeNotFoundException>(() => service.GetCurrentQuestion(new List <bool> {
                true, true, false, true
            }));
            Assert.Throws <NodeNotFoundException>(() => service.GetCurrentQuestion(new List <bool> {
                true, true, false, false
            }));
            Assert.Throws <NodeNotFoundException>(() => service.GetCurrentQuestion(new List <bool> {
                true, false, true, false
            }));
            Assert.Throws <NodeNotFoundException>(() => service.GetCurrentQuestion(new List <bool> {
                true, false, false, false
            }));

            //Assert.(3, _service.GetTreeMaxpath());
        }