+ \r
+\r
+ /**\r
+ * Test method for\r
+ * {@link eu.etaxonomy.cdm.api.facade.DerivedUnitFacade#addDetermination(eu.etaxonomy.cdm.model.occurrence.DeterminationEvent)}\r
+ * .\r
+ */\r
+ @Test\r
+ public void testPreferredOtherDeterminations() {\r
+ Assert.assertEquals("There should be no determination yet", 0,\r
+ specimenFacade.getDeterminations().size());\r
+ DeterminationEvent determinationEvent1 = DeterminationEvent.NewInstance();\r
+ specimenFacade.setPreferredDetermination(determinationEvent1);\r
+ \r
+ Assert.assertEquals("There should be exactly one determination", 1,\r
+ specimenFacade.getDeterminations().size());\r
+ Assert.assertEquals("The only determination should be determination 1",\r
+ determinationEvent1, specimenFacade.getDeterminations()\r
+ .iterator().next());\r
+ Assert.assertEquals("determination 1 should be the preferred determination",\r
+ determinationEvent1, specimenFacade.getPreferredDetermination());\r
+ Assert.assertEquals("There should be no 'non preferred' determination", 0,\r
+ specimenFacade.getOtherDeterminations().size());\r
+\r
+ \r
+\r
+ DeterminationEvent determinationEvent2 = DeterminationEvent.NewInstance();\r
+ specimenFacade.addDetermination(determinationEvent2);\r
+ Assert.assertEquals("There should be exactly 2 determinations", 2,\r
+ specimenFacade.getDeterminations().size());\r
+ Assert.assertEquals("determination 1 should be the preferred determination",\r
+ determinationEvent1, specimenFacade.getPreferredDetermination());\r
+ Assert.assertEquals("There should be one 'non preferred' determination", 1,\r
+ specimenFacade.getOtherDeterminations().size());\r
+ Assert.assertEquals("The only 'non preferred' determination should be determination 2",\r
+ determinationEvent2, specimenFacade.getOtherDeterminations().iterator().next());\r
+ \r
+ \r
+ DeterminationEvent determinationEvent3 = DeterminationEvent.NewInstance();\r
+ specimenFacade.setPreferredDetermination(determinationEvent3);\r
+ Assert.assertEquals("There should be exactly 3 determinations", 3,\r
+ specimenFacade.getDeterminations().size());\r
+ Assert.assertEquals("determination 3 should be the preferred determination",\r
+ determinationEvent3, specimenFacade.getPreferredDetermination());\r
+ Assert.assertEquals("There should be 2 'non preferred' determination", 2,\r
+ specimenFacade.getOtherDeterminations().size());\r
+ Assert.assertTrue("determination 1 should be contained in the set of 'non preferred' determinations",\r
+ specimenFacade.getOtherDeterminations().contains(determinationEvent1));\r
+ Assert.assertTrue("determination 2 should be contained in the set of 'non preferred' determinations",\r
+ specimenFacade.getOtherDeterminations().contains(determinationEvent2));\r
+\r
+ }\r