@Test
  public void testGetMinimalInstance() throws Exception {
    // Set up
    setUpMockPackagingProvider(DEFAULT_PACKAGING);

    // Invoke
    final Pom pom = invokeFactory("minimal-pom.xml");

    // Check
    assertGav(pom, "com.example", "minimal-app", "2.0");
    assertEquals(SRC_MAIN_JAVA.getDefaultLocation(), pom.getSourceDirectory());
    assertEquals(SRC_TEST_JAVA.getDefaultLocation(), pom.getTestSourceDirectory());
  }
  @Test
  public void testGetInstanceWithPomPackaging() throws Exception {
    // Set up
    setUpMockPackagingProvider("pom");
    final String pomFileName = "parent-pom.xml";

    // Invoke
    final Pom pom = invokeFactory(pomFileName);

    // Check
    assertGav(pom, "com.example", "parent-app", "3.0");
    assertEquals("pom", pom.getPackaging());
    assertEquals(SRC_MAIN_JAVA.getDefaultLocation(), pom.getSourceDirectory());
    assertEquals(SRC_TEST_JAVA.getDefaultLocation(), pom.getTestSourceDirectory());
    final Collection<Module> modules = pom.getModules();
    assertEquals(2, modules.size());
    final Iterator<Module> moduleIterator = modules.iterator();
    assertModule(moduleIterator.next(), "module-one", pomFileName);
    assertModule(moduleIterator.next(), "module-two", pomFileName);
  }