+ private static final String LOCATION_A = "locationA";
+ private static final String LOCATION_B = "locationB";
+ private DcaeLocationService locationService = new DcaeLocationService(new HashMap<>());
+
+ @Test
+ public void getAllDcaeLocations_shouldReturnEmptyCollection() {
+
+ List<DcaeLocation> allDcaeLocations = locationService.getAllDcaeLocations();
+
+ assertTrue(allDcaeLocations.isEmpty());
+ }
+
+ @Test
+ public void addDcaeLocation_shouldAddLocationToMap() {
+ DcaeLocation locationA = createDcaeLocation(LOCATION_A);
+
+ DcaeLocation addedLocation = locationService.addDcaeLocation(locationA);
+
+ assertEquals(locationA, locationService.getDcaeLocation(LOCATION_A));
+ assertSame(locationA, addedLocation);
+ }
+
+ @Test
+ public void addDcaeLocation_shouldSetStatusAndLastModDate() {
+ DcaeLocation locationA = createDcaeLocation(LOCATION_A);
+ Date creationDate = new Date(10);
+ locationA.setLastMod(creationDate);
+
+ DcaeLocation addedLocation = locationService.addDcaeLocation(locationA);
+
+ assertTrue(addedLocation.getLastMod().after(creationDate));
+ assertEquals(DmaapObject.DmaapObject_Status.VALID, addedLocation.getStatus());
+ }
+
+ @Test
+ public void updateDcaeLocation_shouldUpdateLocationAndLastModDate() {
+ DcaeLocation location = createDcaeLocation(LOCATION_A);
+ Date creationDate = new Date(10);
+ location.setLastMod(creationDate);
+ locationService.addDcaeLocation(location);