public void RoomsOnSideOfOriginInMultiplySplitMapAreInOneComponent() { ConnectivityMap standardMap = BuildStandardTestMap(); var edgesToSplit = new List <TaggedEdge <int, string> >(); edgesToSplit.Add(standardMap.GetEdgeBetweenRooms(10, 11)); edgesToSplit.Add(standardMap.GetEdgeBetweenRooms(3, 5)); MapSplitter splitter = new MapSplitter(standardMap.RoomConnectionGraph.Edges, edgesToSplit, 1); CollectionAssert.AreEquivalent(new List <int>(new int[] { 1, 2, 3, 4, 7, 8, 9, 10 }), splitter.MapComponent(splitter.OriginComponentIndex).ToList()); }
public void DoesNotContainEdgeNotInMap() { //Build a simple graph ConnectivityMap newMap = new ConnectivityMap(); newMap.AddRoomConnection(1, 2); newMap.AddRoomConnection(2, 3); newMap.AddRoomConnection(3, 4); newMap.GetEdgeBetweenRooms(2, 4); }
public void ContainEdgeInMap() { //Build a simple graph ConnectivityMap newMap = new ConnectivityMap(); newMap.AddRoomConnection(1, 2); newMap.AddRoomConnection(2, 3); var edge = newMap.GetEdgeBetweenRooms(1, 2); Assert.AreEqual(edge.Source, 1); Assert.AreEqual(edge.Target, 2); }
public void RoomsOnSideOfOriginInSplitMapAreInSameComponentAndViceVersa() { ConnectivityMap standardMap = BuildStandardTestMap(); MapSplitter splitter = new MapSplitter(standardMap.RoomConnectionGraph.Edges, standardMap.GetEdgeBetweenRooms(9, 10), 1); Assert.AreEqual(splitter.RoomComponentIndex(9), splitter.OriginComponentIndex); Assert.AreEqual(splitter.RoomComponentIndex(10), splitter.NonOriginComponentIndex); }