	@Test
	public void cycle_lenient() {

		Node a = createNode("a", "1");
		Node b = createNode("b", "1");
		Node c = createNode("c", "1");
		Node d = createNode("d", "1");
		Node oc = createOmittedNode("c", "1");
		Node ob = createOmittedNode("b", "1");

		a.addChildNode(b);
		a.addChildNode(c);
		b.addChildNode(d);
		c.addChildNode(ob);
		b.addChildNode(oc);

		List<Node> resultNodes = new TopologicalSorter().sort(a, false);
		List<String> r = resultNodes.stream().map(Node::getArtifactId).collect(Collectors.toList());
		Assert.assertTrue(r.indexOf("a") > r.indexOf("b"));
		Assert.assertTrue(r.indexOf("a") > r.indexOf("c"));
		Assert.assertTrue(r.indexOf("b") > r.indexOf("d"));

	}