@Test
public void breadth_first_counter_example() {

	Node a = createNode("a", "1");
	Node b = createNode("b", "1");
	Node c = createNode("c", "1");
	Node d = createNode("d", "1");
	Node od = createOmittedNode("d", "2");
	Node e = createNode("e", "1");
	a.addChildNode(b);
	b.addChildNode(c);
	c.addChildNode(od);
	a.addChildNode(d);
	d.addChildNode(e);
	// unexpressed : od depends on e
	List<Node> resultNodes = new TopologicalSorter().sort(a, true);
	List<String> r = resultNodes.stream().map(Node::getArtifactId).collect(Collectors.toList());
	Assert.assertTrue(r.indexOf("a") > r.indexOf("b"));
	Assert.assertTrue(r.indexOf("b") > r.indexOf("c"));
	Assert.assertTrue(r.indexOf("a") > r.indexOf("d"));
	Assert.assertTrue(r.indexOf("d") > r.indexOf("e"));
	Assert.assertTrue(resultNodes.contains(d));
}