public void TestWithoutRelevant() { // G is // 0-1-2 3-4-5 var g = new PathConstraintUtils.SimpleGraph { NodeCount = 6, Neighbours = new [] { new [] { 1 }, new [] { 0, 2 }, new [] { 1 }, new [] { 4 }, new [] { 3, 5 }, new [] { 4 }, } }; var walkable = new bool[6]; for (var i = 0; i < 6; i++) { walkable[i] = true; } var art = PathConstraintUtils.GetArticulationPoints(g, walkable); Assert.AreEqual(false, art[0]); Assert.AreEqual(true, art[1]); Assert.AreEqual(false, art[2]); Assert.AreEqual(false, art[3]); Assert.AreEqual(true, art[4]); Assert.AreEqual(false, art[5]); }
public void TestWithRelevant2() { var g = new PathConstraintUtils.SimpleGraph { NodeCount = 4, Neighbours = new[] { new [] { 1 }, new [] { 0, 2 }, new [] { 1, 3 }, new [] { 2 }, } }; var walkable = new bool[4]; for (var i = 0; i < 4; i++) { walkable[i] = true; } var relevant = new bool[4]; relevant[0] = true; relevant[3] = true; var art = PathConstraintUtils.GetArticulationPoints(g, walkable, relevant).IsArticulation; Assert.AreEqual(false, art[0]); Assert.AreEqual(true, art[1]); Assert.AreEqual(true, art[2]); Assert.AreEqual(false, art[3]); }