@Override @Test public void addEdge_selfLoop() { assertThat(addEdge(N1, N1, E11)).isTrue(); assertThat(network.edges()).contains(E11); assertThat(network.edgesConnecting(N1, N1)).containsExactly(E11); }
@Test public void addEdge_existingNodes() { // Adding nodes initially for safety (insulating from possible future // modifications to proxy methods) addNode(N1); addNode(N2); assertThat(addEdge(N1, N2, E12)).isTrue(); assertThat(network.edges()).contains(E12); assertThat(network.edgesConnecting(N1, N2)).containsExactly(E12); assertThat(network.edgesConnecting(N2, N1)).containsExactly(E12); }
@Test public void addEdge_existingNodes() { // Adding nodes initially for safety (insulating from possible future // modifications to proxy methods) addNode(N1); addNode(N2); assertThat(addEdge(N1, N2, E12)).isTrue(); assertThat(network.edges()).contains(E12); assertThat(network.edgesConnecting(N1, N2)).containsExactly(E12); // Direction of the added edge is correctly handled assertThat(network.edgesConnecting(N2, N1)).isEmpty(); }
@Test public void removeEdge_existingSelfLoopEdge() { addEdge(N1, N1, E11); assertThat(network.removeEdge(E11)).isTrue(); assertThat(network.edges()).doesNotContain(E11); assertThat(network.edgesConnecting(N1, N1)).isEmpty(); } }
@Test public void removeEdge_existingEdge() { addEdge(N1, N2, E12); assertTrue(network.removeEdge(E12)); assertFalse(network.removeEdge(E12)); assertThat(network.edges()).doesNotContain(E12); assertThat(network.edgesConnecting(N1, N2)).isEmpty(); }
@Test public void edges_selfLoop() { addEdge(N1, N1, E11); assertThat(network.edges()).containsExactly(E11); }
@Test public void edges_selfLoop() { addEdge(N1, N1, E11); assertThat(network.edges()).containsExactly(E11); }
@Test public void removeNode_existingNode() { addEdge(N1, N2, E12); addEdge(N4, N1, E41); assertTrue(network.removeNode(N1)); assertFalse(network.removeNode(N1)); assertThat(network.nodes()).containsExactly(N2, N4); assertThat(network.edges()).doesNotContain(E12); assertThat(network.edges()).doesNotContain(E41); }
@Test public void removeNode_existingNodeWithSelfLoopEdge() { addNode(N1); addEdge(N1, N1, E11); assertThat(network.removeNode(N1)).isTrue(); assertThat(network.nodes()).isEmpty(); assertThat(network.edges()).doesNotContain(E11); }
@Test public void removeNode_existingNodeWithSelfLoopEdge() { addNode(N1); addEdge(N1, N1, E11); assertThat(network.removeNode(N1)).isTrue(); assertThat(network.nodes()).isEmpty(); assertThat(network.edges()).doesNotContain(E11); }
@Test public void edgeOrder_sorted() { MutableNetwork<Integer, String> network = NetworkBuilder.directed() .edgeOrder(ElementOrder.sorted(Ordering.<String>natural().reverse())) .build(); addEdges(network); assertThat(network.edgeOrder()) .isEqualTo(ElementOrder.sorted(Ordering.<String>natural().reverse())); assertThat(network.edges()).containsExactly("p", "i", "e").inOrder(); assertThat(network.nodeOrder()).isEqualTo(ElementOrder.insertion()); // default }
@Test public void edgeOrder_default() { MutableNetwork<Integer, String> network = NetworkBuilder.directed().build(); addEdges(network); assertThat(network.edgeOrder()).isEqualTo(ElementOrder.insertion()); assertThat(network.edges()).containsExactly("i", "e", "p").inOrder(); assertThat(network.nodeOrder()).isEqualTo(ElementOrder.insertion()); // default }
@Test public void edgeOrder_insertion() { MutableNetwork<Integer, String> network = NetworkBuilder.directed().edgeOrder(insertion()).build(); addEdges(network); assertThat(network.edgeOrder()).isEqualTo(ElementOrder.insertion()); assertThat(network.edges()).containsExactly("i", "e", "p").inOrder(); assertThat(network.nodeOrder()).isEqualTo(ElementOrder.insertion()); // default }