@Test
public void testcalculateNumberOfTotalOrderings() throws InterruptedException {

	final String a, b, c, d;
	a = "a";
	b = "b";
	c = "c";
	d = "d";
	final PartialOrderedSet<String> unorderedSet = new PartialOrderedSet<>();
	unorderedSet.add(a);
	unorderedSet.add(b);
	unorderedSet.add(c);
	unorderedSet.add(d);
	assertTrue(SetUtil.calculateNumberOfTotalOrderings(unorderedSet) == 24);
	final PartialOrderedSet<String> sortedSetA = new PartialOrderedSet<>();
	sortedSetA.add(a);
	sortedSetA.add(b);
	sortedSetA.add(c);
	sortedSetA.add(d);
	sortedSetA.addABeforeB(a, b);
	sortedSetA.addABeforeB(c, d);
	assertTrue(SetUtil.calculateNumberOfTotalOrderings(sortedSetA) == 6);
	final PartialOrderedSet<String> sortedSetB = new PartialOrderedSet<>();
	sortedSetB.add(a);
	sortedSetB.add(b);
	sortedSetB.add(c);
	sortedSetB.add(d);
	sortedSetB.addABeforeB(a, b);
	sortedSetB.addABeforeB(b, c);
	assertTrue(SetUtil.calculateNumberOfTotalOrderings(sortedSetB) == 4);
}