### Question:
Cycle implements Trackable<Long> { public Cycle getCopyWithoutRelations() { Cycle copy = new Cycle(); copy.setName(getName()); copy.setPlannedStartDate(getPlannedStartDate()); copy.setPlannedEndDate(getPlannedEndDate()); copy.setFactualStartDate(getFactualStartDate()); copy.setFactualEndDate(getFactualEndDate()); copy.setCycleState(getCycleState()); copy.setVisible(isVisible()); return copy; } Cycle();  Cycle(String name); boolean isVisible(); void setVisible(boolean visible); Cycle getCopyWithoutRelations();  }### Answer:
@Test public void getCopyWithoutRelations_expectedNotNull() { Cycle actualCycle = expectedCycle.getCopyWithoutRelations(); Assert.assertNotNull(actualCycle); }
@Test public void getCopyWithoutRelations_expectedCopyNotOriginal() { Cycle actualCycle = expectedCycle.getCopyWithoutRelations(); Assert.assertNotEquals(expectedCycle, actualCycle); }
@Test public void getCopyWithoutRelations_expectedCorrectCopiedInformation() { Cycle actualCycle = expectedCycle.getCopyWithoutRelations(); Assert.assertEquals(originalName, actualCycle.getName()); Assert.assertEquals(originalPlannedStartDate, actualCycle.getPlannedStartDate()); Assert.assertEquals(originalPlannedEndDate, actualCycle.getPlannedEndDate()); Assert.assertEquals(originalFactualStartDate, actualCycle.getFactualStartDate()); Assert.assertEquals(originalFactualEndDate, actualCycle.getFactualEndDate()); Assert.assertEquals(originalCycleState, actualCycle.getCycleState()); }
@Test public void getCopyWithoutRelations_expectedIdNotCopied() { Cycle actualCycle = expectedCycle.getCopyWithoutRelations(); Assert.assertNotEquals(expectedCycle.getId(), actualCycle.getId()); }
@Test public void getCopyWithoutRelations_expectedNoRelations() { Cycle actualCycle = expectedCycle.getCopyWithoutRelations(); Assert.assertEquals(0, actualCycle.getCompanies().size()); }