### Question:
MavenUnzippingDecider extends AbstractUnzippingDecider { @Override public boolean shouldUnzip(String filePath) { String s = project.getRootPath() + "/src/main"; if (filePath.startsWith(s) && (filePath.equals(s) || filePath.charAt(s.length()) == '/')) { return !(io.newFile(filePath).fileExists()); } return super.shouldUnzip(filePath); } MavenUnzippingDecider(IOFactory io, Project project); @Override boolean shouldUnzip(String filePath);  }### Answer:
@Test public void testDoesUnzipAndOverwriteToSrc() { assertTrue(decider.shouldUnzip("/project/src/DoesNotExist.java")); assertTrue(decider.shouldUnzip("/project/src/Exists.java")); }
@Test public void testUnzipsToSrcMain() { assertTrue(decider.shouldUnzip("/project/src/main/DoesNotExist.java")); }
@Test public void testDoesNotOverwriteExistingInSrcMain() { assertFalse(decider.shouldUnzip("/project/src/main/Exists.java")); }
@Test public void testDoesUnzipTests() { assertTrue(decider.shouldUnzip("/project/src/test/Test.java")); }