@Test
public void testIsSuccessor() {

	String p1 = "[(0/1),(0/2),(1/3)]";
	String p2 = "[(0/1),(0/2),(2/3)]";
	assertTrue(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(0/2),(2/3)]";
	p2 = "[(0/1),(1/2),(0/2),(0/4)]";
	assertTrue(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(1/2),(0/2),(2/4)]";
	p2 = "[(0/1),(1/2),(0/2),(3/4),(0/3)]";
	assertTrue(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(1/2),(0/2),(2/4)]";
	p2 = "[(0/1),(1/2),(0/2),(1/4),(0/3)]";
	assertFalse(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(1/2),(0/2),(2/4)]";
	p2 = "[(0/1),(1/2),(1/2),(0/4),(0/3)]";
	assertFalse(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(1/2),(0/2),(3/4),(2/3)]";
	p2 = "[(0/1),(1/2),(1/2)]";
	assertTrue(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1)]";
	p2 = "[(0/1)]";
	assertFalse(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(0/2)]";
	p2 = "[(0/1),(0/2)]";
	assertFalse(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
	p1 = "[(0/1),(0/2)]";
	p2 = "[(0/1),(0/2),(0/2)]";
	assertFalse(SplitHistory.parse(p2).isSuccessor(SplitHistory.parse(p1)));
	assertFalse(SplitHistory.parse(p1).isSuccessor(SplitHistory.parse(p2)));
}