### Question:
ByteHashStep implements HashStep<T> { @Override public int hash(T object) { return Byte.hashCode(valueExtractor.applyAsByte(object)); } ByteHashStep(ToByteFunction<? super T> valueExtractor); @Override int hash(T object);  }### Answer:
@Test void shouldReturnHashCode() { ByteHashStep<TestData> hashStep = new ByteHashStep<>(TestData::getValue); int result = hashStep.hash(new TestData((byte) 5)); assertThat(result) .isEqualTo(Byte.hashCode((byte) 5)); }