### Question:
StringEqualsJunitReporter extends AbstractReporter { @Override public void approveNew(byte[] value, File fileForApproval, File fileForVerification) { Assert.assertEquals("", new String(value, StandardCharsets.UTF_8)); }  @Override void notTheSame(byte[] oldValue, File fileForVerification, byte[] newValue, File fileForApproval); @Override void approveNew(byte[] value, File fileForApproval, File fileForVerification); @Override boolean canApprove(File fileForApproval);  }### Answer:
@Test public void shouldProperlyThrowAnExceptionIfThisIsANewValue() throws Exception { REPORTER.approveNew("".getBytes(StandardCharsets.UTF_8), new File("test"), new File("other")); try { REPORTER.approveNew(ACTUAL.getBytes(StandardCharsets.UTF_8), new File("test"), new File("other")); Assert.fail("Should fail"); } catch (ComparisonFailure e) { Assert.assertEquals(e.getExpected(), ""); Assert.assertEquals(e.getActual(), ACTUAL); } }