@Test
public void testEncodeBinaryGenome1(){

    boolean[] binary = new boolean[]{
            true, false, true, false, true, false,
            true, false,
            true, true, true, true,
            false, false, false, true, true, false, false, true, true, false
    };
    for (int idx = 0; idx < binary.length; idx++){
        this.representation.setGeneAt(idx, binary[idx]);
    }
    boolean[] gray = new boolean[]{
            true, true, true, true, true, true,
            true, true,
            true, false, false, false,
            false, false, false, true, false, true, false, true, false, true
    };
    this.representation.encodeBinaryGenome();
    BitSet result = this.representation.genome;
    assertTrue((6+2+4+10) >= result.length());
    assertEquals(binary.length, gray.length);
    // Assert does not have assertArrayEquals for boolean[]...
    for (int i = 0; i < binary.length; i++){
        Assert.assertEquals("in step " + i, gray[i], result.get(i) );
    }
}