@Test
public void testDoubleCrossover() throws AlleleException {

    try {
        temp = allele1.doubleCrossover(allele2);
        assertEquals(temp.getStart(), 5);
        assertEquals(temp.getEnd(), 20);
        assertEquals(temp.sequence.seqString(), "-----aaaaa-----");
        temp = allele2.doubleCrossover(allele1);
        assertEquals(temp.getStart(), 10);
        assertEquals(temp.getEnd(), 15);
        assertEquals(temp.sequence.seqString(), "-----");
        temp = allele3.doubleCrossover(allele4);
        assertEquals(temp.getStart(), 5);
        assertEquals(temp.getEnd(), 15);
        assertEquals(temp.sequence.seqString(), "-----aaaaa");
        temp = allele4.doubleCrossover(allele3);
        assertEquals(temp.getStart(), 10);
        assertEquals(temp.getEnd(), 20);
        assertEquals(temp.sequence.seqString(), "-----ttttt");
        temp = allele4.doubleCrossover(allele4);
        assertEquals(temp.getStart(), 10);
        assertEquals(temp.getEnd(), 20);
        assertEquals(temp.sequence.seqString(), "aaaaattttt");
    }
    catch (Exception e) {
        fail();
    }
}