@Test
public void testGenerate_Simple() throws Exception {

    AtomHashGenerator seedMock = mock(AtomHashGenerator.class);
    IAtomContainer container = mock(IAtomContainer.class);
    BasicAtomHashGenerator generator = new BasicAtomHashGenerator(mock(AtomHashGenerator.class), new Xorshift(), 2);
    // first iteration, values are distributed and then neighbours xor'd
    // in. when two neighbout have the same value the second should be
    // rotated
    long[] first = new long[]{generator.distribute(1) ^ 2L, generator.distribute(2L) ^ 1L ^ generator.rotate(1L),
            generator.distribute(1) ^ 2L};
    long[] second = new long[]{generator.distribute(first[0]) ^ first[1],
            generator.distribute(first[1]) ^ first[0] ^ generator.rotate(first[2]),
            generator.distribute(first[2]) ^ first[1]};
    assertThat(generator.generate(new long[]{1L, 2L, 1L}, StereoEncoder.EMPTY, new int[][]{{1}, {0, 2}, {1}},
            Suppressed.none()), is(second));
}