@Test
public void testFindAll() {

	final SimpleNode in = new SimpleNode("in");
	final SimpleNode a = new SimpleNode("a", in);
	final SimpleNode b = new SimpleNode("b", in);
	final SimpleNode out = new SimpleNode("out", a, b);
	final SimpleNode in2 = new SimpleNode("in2");
	in2.outgoings.add(b);
	final Graph<SimpleNode> graph = new Graph<SimpleNode>(new SimpleNodeModifier(), in, in2);
	final ArrayList<Graph<SimpleNode>.NodePath> retrievedNodes = new ArrayList<Graph<SimpleNode>.NodePath>();
	for (final Graph<SimpleNode>.NodePath nodePath : graph.findAll(out, false))
		retrievedNodes.add(nodePath);
	final List<Graph<SimpleNode>.NodePath> expected = new ArrayList<Graph<SimpleNode>.NodePath>();
	expected.add(graph.getPath(in, 0, 0));
	expected.add(graph.getPath(in, 1, 0));
	expected.add(graph.getPath(in2, 0, 0));
	Assert.assertEquals(expected, retrievedNodes);
}