@Test
public void testEquals() {

    EmbeddedPackageInstallable self = new EmbeddedPackageInstallable(
            PackageId.fromString("test:test:1"),
            "/some/path",
            PackageId.fromString("test:testtest:1"));
    assertEquals("expect self to equal self", self, self);
    assertFalse("expect self to not equal null", self.equals(null));
    assertEquals("expect self to equal other same params", self,
            new EmbeddedPackageInstallable(
                    self.getParentId(),
                    self.getJcrPath(),
                    self.getEmbeddedId()));
    assertNotEquals("expect self to equal other different path", self,
            new EmbeddedPackageInstallable(
                    self.getParentId(),
                    "/some/other/path",
                    self.getEmbeddedId()));
    assertNotEquals("expect self to equal other different parent id", self,
            new EmbeddedPackageInstallable(
                    self.getEmbeddedId(),
                    self.getJcrPath(),
                    self.getEmbeddedId()));
    assertNotEquals("expect self to equal other different embedded id", self,
            new EmbeddedPackageInstallable(
                    self.getParentId(),
                    self.getJcrPath(),
                    self.getParentId()));
}