public void ErrorCase_ReturnsValue_7()
        {
            var biconnectedComponents = new BiconnectedComponents(_basicWorldV2);
            var valid = biconnectedComponents.GetValidPlacesForMaxPath(0, 24);

            Assert.IsTrue(valid[0]);
            Assert.IsTrue(valid[1]);
            Assert.IsTrue(valid[2]);
            Assert.IsTrue(valid[3]);
            Assert.IsFalse(valid[4]);
            Assert.IsTrue(valid[5]);
            Assert.IsTrue(valid[6]);
            Assert.IsTrue(valid[7]);
            Assert.IsTrue(valid[8]);
            Assert.IsFalse(valid[9]);
            Assert.IsTrue(valid[10]);
            Assert.IsTrue(valid[11]);
            Assert.IsTrue(valid[12]);
            Assert.IsTrue(valid[13]);
            Assert.IsFalse(valid[14]);
            Assert.IsTrue(valid[15]);
            Assert.IsTrue(valid[16]);
            Assert.IsTrue(valid[17]);
            Assert.IsTrue(valid[18]);
            Assert.IsFalse(valid[19]);
            Assert.IsTrue(valid[20]);
            Assert.IsTrue(valid[21]);
            Assert.IsTrue(valid[22]);
            Assert.IsTrue(valid[23]);
            Assert.IsTrue(valid[24]);
        }
        public void GetValidPlacesForMaxPath_CheckStepsForBCCH_try1step1()
        {
            var biconnectedComponents = new BiconnectedComponents(_basicWorldT1S1);
            var valid = biconnectedComponents.GetValidPlacesForMaxPath(1, 24);

            Assert.IsFalse(valid[0]);
            Assert.IsTrue(valid[1]);
            Assert.IsTrue(valid[2]);
            Assert.IsTrue(valid[3]);
            Assert.IsTrue(valid[4]);
            Assert.IsTrue(valid[5]);
            Assert.IsTrue(valid[6]);
            Assert.IsFalse(valid[7]);
            Assert.IsTrue(valid[8]);
            Assert.IsTrue(valid[9]);
            Assert.IsTrue(valid[10]);
            Assert.IsTrue(valid[11]);
            Assert.IsFalse(valid[12]);
            Assert.IsTrue(valid[13]);
            Assert.IsTrue(valid[14]);
            Assert.IsTrue(valid[15]);
            Assert.IsTrue(valid[16]);
            Assert.IsFalse(valid[17]);
            Assert.IsTrue(valid[18]);
            Assert.IsTrue(valid[19]);
            Assert.IsTrue(valid[20]);
            Assert.IsTrue(valid[21]);
            Assert.IsTrue(valid[22]);
            Assert.IsTrue(valid[23]);
            Assert.IsTrue(valid[24]);
        }
        public void GetValidPlacesForMaxPath_AlmostAllBlocks_AreAllValid()
        {
            var biconnectedComponents = new BiconnectedComponents(_basicWorldV1);
            var valid = biconnectedComponents.GetValidPlacesForMaxPath(1, 11);

            Assert.IsFalse(valid[0]);
            Assert.IsTrue(valid[1]);
            Assert.IsTrue(valid[2]);
            Assert.IsTrue(valid[3]);
            Assert.IsTrue(valid[4]);
            Assert.IsFalse(valid[5]);
            Assert.IsFalse(valid[6]);
            Assert.IsFalse(valid[7]);
            Assert.IsTrue(valid[8]);
            Assert.IsTrue(valid[9]);
            Assert.IsTrue(valid[10]);
            Assert.IsTrue(valid[11]);
            Assert.IsFalse(valid[12]);
            Assert.IsTrue(valid[13]);
            Assert.IsTrue(valid[14]);
            Assert.IsTrue(valid[15]);
            Assert.IsTrue(valid[16]);
            Assert.IsFalse(valid[17]);
            Assert.IsTrue(valid[18]);
            Assert.IsTrue(valid[19]);
            Assert.IsTrue(valid[20]);
            Assert.IsTrue(valid[21]);
            Assert.IsTrue(valid[22]);
            Assert.IsTrue(valid[23]);
            Assert.IsTrue(valid[24]);
        }