@Test
public void testExplainPatch_BothEntriesUncompressed_BytesChanged() throws Exception {

  byte[] oldBytes = UnitTestZipArchive.makeTestZip(Collections.singletonList(ENTRY_A1_STORED));
  byte[] newBytes = UnitTestZipArchive.makeTestZip(Collections.singletonList(ENTRY_A2_STORED));
  save(oldBytes, oldFile);
  save(newBytes, newFile);
  FakeDeltaGenerator fakeDeltaGenerator =
      new FakeDeltaGenerator(
          ENTRY_A1_STORED.getUncompressedBinaryContent(),
          ENTRY_A2_STORED.getUncompressedBinaryContent());
  FakeCompressor fakeCompressor =
      new FakeCompressor(FakeDeltaGenerator.OUTPUT.getBytes("US-ASCII"));
  PatchExplainer explainer = new PatchExplainer(fakeCompressor, fakeDeltaGenerator);
  List<EntryExplanation> explanations = explainer.explainPatch(oldFile, newFile);
  // The uncompressed bytes are not the same. Thus the patch size should be non-zero.
  EntryExplanation expected =
      new EntryExplanation(
          path(ENTRY_A2_STORED),
          false,
          RecommendationReason.BOTH_ENTRIES_UNCOMPRESSED,
          FakeCompressor.OUTPUT.length());
  checkExplanation(explanations, expected);
}