@Test public void incidentEdges_oneEdge() { addEdge(N1, N2, E12); assertThat(network.incidentEdges(N2)).containsExactly(E12); assertThat(network.incidentEdges(N1)).containsExactly(E12); }
@Override @Test public void incidentEdges_checkReturnedSetMutability() { addNode(N1); Set<String> incidentEdges = network.incidentEdges(N1); try { incidentEdges.add(E12); fail(ERROR_MODIFIABLE_COLLECTION); } catch (UnsupportedOperationException e) { addEdge(N1, N2, E12); assertThat(network.incidentEdges(N1)).containsExactlyElementsIn(incidentEdges); } }
@Override @Test public void incidentEdges_checkReturnedSetMutability() { addNode(N1); Set<String> incidentEdges = network.incidentEdges(N1); try { incidentEdges.add(E12); fail(ERROR_MODIFIABLE_COLLECTION); } catch (UnsupportedOperationException e) { addEdge(N1, N2, E12); assertThat(network.incidentEdges(N1)).containsExactlyElementsIn(incidentEdges); } }
@Test public void incidentEdges_selfLoop() { addEdge(N1, N1, E11); assertThat(network.incidentEdges(N1)).containsExactly(E11); }
@Test public void incidentEdges_selfLoop() { addEdge(N1, N1, E11); assertThat(network.incidentEdges(N1)).containsExactly(E11); }
@Test public void incidentEdges_isolatedNode() { addNode(N1); assertThat(network.incidentEdges(N1)).isEmpty(); }
@Test public void incidentEdges_nodeNotInGraph() { try { network.incidentEdges(NODE_NOT_IN_GRAPH); fail(ERROR_NODE_NOT_IN_GRAPH); } catch (IllegalArgumentException e) { assertNodeNotInGraphErrorMessage(e); } }
@After public void validateUndirectedEdges() { for (Integer node : network.nodes()) { new EqualsTester() .addEqualityGroup( network.inEdges(node), network.outEdges(node), network.incidentEdges(node)) .testEquals(); new EqualsTester() .addEqualityGroup( network.predecessors(node), network.successors(node), network.adjacentNodes(node)) .testEquals(); for (Integer adjacentNode : network.adjacentNodes(node)) { assertThat(network.edgesConnecting(node, adjacentNode)) .containsExactlyElementsIn(network.edgesConnecting(adjacentNode, node)); } } }
@Override public Set<E> incidentEdges(N node) { return delegate.incidentEdges(node); }
@Override public synchronized Set<E> incidentEdges(N arg0) { return delegate.incidentEdges(arg0); }
@Override public Set<E> incidentEdges(N node) { checkNotNull(node, "node"); checkArgument(delegate.nodes().contains(node), NODE_NOT_IN_TREE, node); return delegate.incidentEdges(node); }
@Override public boolean removeNode(N node) { // remove all incident edges first, so that the appropriate events will // be fired (otherwise they'll be removed inside {@code // delegate.removeNode} // and the events will not be fired) List<E> incident_edges = ImmutableList.copyOf(delegate.incidentEdges(node)); for (E e : incident_edges) { this.removeEdge(e); } boolean state = delegate.removeNode(node); if (state) { NetworkEvent<N, E> evt = new NetworkEvent.Node<N, E>(delegate, NetworkEvent.Type.NODE_REMOVED, (N) node); fireGraphEvent(evt); } return state; }
@Test public void incidentEdges_oneEdge() { addEdge(N1, N2, E12); assertThat(network.incidentEdges(N2)).containsExactly(E12); assertThat(network.incidentEdges(N1)).containsExactly(E12); }
@Override @Test public void incidentEdges_checkReturnedSetMutability() { addNode(N1); Set<String> incidentEdges = network.incidentEdges(N1); try { incidentEdges.add(E12); fail(ERROR_MODIFIABLE_COLLECTION); } catch (UnsupportedOperationException e) { addEdge(N1, N2, E12); assertThat(network.incidentEdges(N1)).containsExactlyElementsIn(incidentEdges); } }
@Override @Test public void incidentEdges_checkReturnedSetMutability() { addNode(N1); Set<String> incidentEdges = network.incidentEdges(N1); try { incidentEdges.add(E12); fail(ERROR_MODIFIABLE_COLLECTION); } catch (UnsupportedOperationException e) { addEdge(N1, N2, E12); assertThat(network.incidentEdges(N1)).containsExactlyElementsIn(incidentEdges); } }
@Test public void incidentEdges_isolatedNode() { addNode(N1); assertThat(network.incidentEdges(N1)).isEmpty(); }
@Test public void incidentEdges_selfLoop() { addEdge(N1, N1, E11); assertThat(network.incidentEdges(N1)).containsExactly(E11); }
@Test public void incidentEdges_selfLoop() { addEdge(N1, N1, E11); assertThat(network.incidentEdges(N1)).containsExactly(E11); }
@Test public void incidentEdges_nodeNotInGraph() { try { network.incidentEdges(NODE_NOT_IN_GRAPH); fail(ERROR_NODE_NOT_IN_GRAPH); } catch (IllegalArgumentException e) { assertNodeNotInGraphErrorMessage(e); } }
@After public void validateUndirectedEdges() { for (Integer node : network.nodes()) { new EqualsTester() .addEqualityGroup( network.inEdges(node), network.outEdges(node), network.incidentEdges(node)) .testEquals(); new EqualsTester() .addEqualityGroup( network.predecessors(node), network.successors(node), network.adjacentNodes(node)) .testEquals(); for (Integer adjacentNode : network.adjacentNodes(node)) { assertThat(network.edgesConnecting(node, adjacentNode)) .containsExactlyElementsIn(network.edgesConnecting(adjacentNode, node)); } } }