public void RemoveNode(int numNodes, int numEdges, bool isDirected, bool selfLoops, bool multiEdges, int[] indicesToRemove) { ISimpleAdjList net = SimpleAdjListGenerator.GenerateAdjList(numNodes, numEdges, isDirected, selfLoops, multiEdges); SimpleAdjListEditor editor = new SimpleAdjListEditor(); int removed = editor.RemoveNode(net, indicesToRemove[0]); Assert.IsNotNull(net, "Outputnet should not be null"); int check = net.NodeCount + removed; Assert.AreEqual(numNodes, check, "Check of removed should match expected"); Assert.AreEqual(numNodes - removed, net.NodeCount, "new node count should match expected"); // re-verify new indices INode node = null; for (int i = 0; i < net.NodeCount; i++) { node = net.Nodes[i]; Assert.IsNotNull(node, "New node indexed should not be null"); } }
public void RemoveNode_WhenNodeDataMapIsPresent(int testId, int[] indicesToRemove, Type dataType, object defaultVal, int nodeCount, int edgeCount, bool directed, bool selfLoops, bool multiEdges) { ISimpleAdjList net = SimpleAdjListGenerator.GenerateAdjList(nodeCount, edgeCount, directed, selfLoops, multiEdges); SimpleAdjListAttributeListDataBuilder builder = new SimpleAdjListAttributeListDataBuilder(AttributeListType.Node); builder.AddList(net, dataType); SimpleAdjListEditor editor = new SimpleAdjListEditor(); int removed = editor.RemoveNode(net, indicesToRemove[0]); Assert.IsNotNull(net, "Outputnet should not be null"); int check = net.NodeCount + removed; Assert.AreEqual(nodeCount, check, "Check of removed should match expected"); Assert.AreEqual(nodeCount - removed, net.NodeCount, "new node count should match expected"); // re-verify new indices INode node = null; for (int i = 0; i < net.NodeCount; i++) { node = net.Nodes[i]; Assert.IsNotNull(node, "New node indexed should not be null"); } }