### Question:
PureByteArrayComparator implements ByteArrayComparator { @Override public boolean equals(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) { return equalsBytes(b1, s1, l1, b2, s2, l2); }  @Override boolean equals(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2); @Override int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2);  }### Answer:
@Test public void eq() { assertThat(CMP.equals(array(1), 0, 1, array(1), 0, 1), is(true)); assertThat(CMP.equals(array(1), 0, 1, array(2), 0, 1), is(false)); assertThat(CMP.equals(array(1, 2), 0, 1, array(1, 3), 0, 1), is(true)); assertThat(CMP.equals(array(1, 2), 1, 1, array(1, 3), 1, 1), is(false)); assertThat(CMP.equals(array(1, 2), 0, 1, array(1, 2), 0, 2), is(false)); }
@Test public void eq_word() { assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8), 0, 8, array(1, 2, 3, 4, 5, 6, 7, 8), 0, 8), is(true)); assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8), 0, 8, array(0, 1, 2, 3, 4, 5, 6, 7, 8, 0), 1, 8), is(true)); assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8), 0, 8, array(1, 2, 3, 4, 5, 6, 7, 0), 0, 8), is(false)); }
@Test public void eq_double_word() { assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 4, 3, 2, 1), 0, 16, array(1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 4, 3, 2, 1), 0, 16), is(true)); assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 4, 3, 2, 1), 0, 16, array(1, 2, 3, 4, 5, 6, 7, 8, 9, 7, 6, 5, 4, 3, 2, 1), 0, 16), is(false)); }
@Test public void eq_word_rest() { assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0), 0, 10, array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0), 0, 10), is(true)); assertThat(CMP.equals( array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0), 0, 10, array(1, 2, 3, 4, 5, 6, 7, 8, 9, 1), 0, 10), is(false)); }