Explorar el Código

Added unit test for ItineraryCandidateDTOAssembler.

Changed the addEvent mentod of CargoTrackingDTO to take strings instead of a DTO.

Optimized imports.
Jesper Hammarbäck hace 18 años
padre
commit
990f506572

+ 4
- 2
dddsample/src/main/java/se/citerus/dddsample/service/dto/CargoTrackingDTO.java Ver fichero

@@ -5,6 +5,7 @@ import se.citerus.dddsample.domain.StatusCode;
5 5
 import java.io.Serializable;
6 6
 import java.util.ArrayList;
7 7
 import java.util.Collections;
8
+import java.util.Date;
8 9
 import java.util.List;
9 10
 
10 11
 /**
@@ -46,8 +47,9 @@ public final class CargoTrackingDTO implements Serializable {
46 47
     this.events = new ArrayList<HandlingEventDTO>();
47 48
   }
48 49
 
49
-  public void addEvent(final HandlingEventDTO handlingEvent) {
50
-    events.add(handlingEvent);
50
+  public void addEvent(final String location, final String type, final String carrier, final Date time,
51
+                       final boolean expected) {
52
+    events.add(new HandlingEventDTO(location, type, carrier, time, expected));
51 53
   }
52 54
 
53 55
   /**

+ 5
- 11
dddsample/src/main/java/se/citerus/dddsample/service/dto/assembler/CargoTrackingDTOAssembler.java Ver fichero

@@ -2,7 +2,6 @@ package se.citerus.dddsample.service.dto.assembler;
2 2
 
3 3
 import se.citerus.dddsample.domain.*;
4 4
 import se.citerus.dddsample.service.dto.CargoTrackingDTO;
5
-import se.citerus.dddsample.service.dto.HandlingEventDTO;
6 5
 
7 6
 import java.util.List;
8 7
 
@@ -29,18 +28,13 @@ public class CargoTrackingDTOAssembler {
29 28
     for (HandlingEvent event : events) {
30 29
       final CarrierMovement cm = event.carrierMovement();
31 30
       final String carrierIdString = (cm == null) ? "" : cm.carrierMovementId().idString();
32
-      dto.addEvent(toHandlingEventDTO(cargo, event, carrierIdString));
31
+      dto.addEvent(event.location().toString(),
32
+        event.type().toString(),
33
+        carrierIdString,
34
+        event.completionTime(),
35
+        cargo.itinerary().isExpected(event));
33 36
     }
34 37
     return dto;
35 38
   }
36 39
 
37
-  protected HandlingEventDTO toHandlingEventDTO(final Cargo cargo, HandlingEvent event, String carrierIdString) {
38
-    return new HandlingEventDTO(
39
-      event.location().toString(),
40
-      event.type().toString(),
41
-      carrierIdString,
42
-      event.completionTime(),
43
-      cargo.itinerary().isExpected(event)
44
-    );
45
-  }
46 40
 }

+ 2
- 2
dddsample/src/main/java/se/citerus/dddsample/service/dto/assembler/ItineraryCandidateDTOAssembler.java Ver fichero

@@ -24,10 +24,10 @@ public class ItineraryCandidateDTOAssembler {
24 24
   }
25 25
 
26 26
   protected LegDTO toLegDTO(final Leg leg) {
27
-    final CarrierMovementId id = leg.carrierMovement().carrierMovementId();
27
+    final CarrierMovementId carrierMovementId = leg.carrierMovement().carrierMovementId();
28 28
     final UnLocode from = leg.from().unLocode();
29 29
     final UnLocode to = leg.to().unLocode();
30
-    return new LegDTO(id.idString(), from.idString(), to.idString());
30
+    return new LegDTO(carrierMovementId.idString(), from.idString(), to.idString());
31 31
   }
32 32
 
33 33
 }

+ 0
- 1
dddsample/src/test/java/se/citerus/dddsample/service/dto/assembler/CargoRoutingDTOAssemblerTest.java Ver fichero

@@ -5,7 +5,6 @@ import se.citerus.dddsample.domain.*;
5 5
 import static se.citerus.dddsample.domain.SampleLocations.*;
6 6
 import se.citerus.dddsample.service.dto.CargoRoutingDTO;
7 7
 import se.citerus.dddsample.service.dto.LegDTO;
8
-import se.citerus.dddsample.service.dto.assembler.CargoRoutingDTOAssembler;
9 8
 
10 9
 public class CargoRoutingDTOAssemblerTest extends TestCase {
11 10
 

+ 38
- 0
dddsample/src/test/java/se/citerus/dddsample/service/dto/assembler/ItineraryCandidateDTOAssemblerTest.java Ver fichero

@@ -0,0 +1,38 @@
1
+package se.citerus.dddsample.service.dto.assembler;
2
+
3
+import junit.framework.TestCase;
4
+import se.citerus.dddsample.domain.*;
5
+import static se.citerus.dddsample.domain.SampleLocations.*;
6
+import se.citerus.dddsample.service.dto.ItineraryCandidateDTO;
7
+import se.citerus.dddsample.service.dto.LegDTO;
8
+
9
+public class ItineraryCandidateDTOAssemblerTest extends TestCase {
10
+
11
+  public void testToDTO() throws Exception {
12
+    final ItineraryCandidateDTOAssembler assembler = new ItineraryCandidateDTOAssembler();
13
+
14
+    final Location origin = STOCKHOLM;
15
+    final Location destination = MELBOURNE;
16
+
17
+    final CarrierMovement cm = new CarrierMovement(
18
+      new CarrierMovementId("ABC"), origin, destination);
19
+
20
+    final Itinerary itinerary = new Itinerary(
21
+      new Leg(cm, origin, SHANGHAI),
22
+      new Leg(cm, ROTTERDAM, destination)
23
+    );
24
+
25
+    final ItineraryCandidateDTO dto = assembler.toDTO(itinerary);
26
+
27
+    assertEquals(2, dto.getLegs().size());
28
+    LegDTO legDTO = dto.getLegs().get(0);
29
+    assertEquals("ABC", legDTO.getCarrierMovementId());
30
+    assertEquals("SESTO", legDTO.getFrom());
31
+    assertEquals("CNSHA", legDTO.getTo());
32
+
33
+    legDTO = dto.getLegs().get(1);
34
+    assertEquals("ABC", legDTO.getCarrierMovementId());
35
+    assertEquals("NLRTM", legDTO.getFrom());
36
+    assertEquals("AUMEL", legDTO.getTo());
37
+  }
38
+}

+ 2
- 4
dddsample/src/test/java/se/citerus/dddsample/web/CargoTrackingControllerTest.java Ver fichero

@@ -15,7 +15,6 @@ import static se.citerus.dddsample.domain.SampleLocations.TOKYO;
15 15
 import se.citerus.dddsample.service.CargoService;
16 16
 import se.citerus.dddsample.service.dto.CargoRoutingDTO;
17 17
 import se.citerus.dddsample.service.dto.CargoTrackingDTO;
18
-import se.citerus.dddsample.service.dto.HandlingEventDTO;
19 18
 import se.citerus.dddsample.service.dto.ItineraryCandidateDTO;
20 19
 import se.citerus.dddsample.web.command.TrackCommand;
21 20
 
@@ -57,12 +56,11 @@ public class CargoTrackingControllerTest extends TestCase {
57 56
           "AAAAA",
58 57
           "BALO",
59 58
           false);
60
-        cargoDTO.addEvent(new HandlingEventDTO(
61
-          event.location().unLocode().idString(),
59
+        cargoDTO.addEvent(event.location().unLocode().idString(),
62 60
           event.type().toString(),
63 61
           null,
64 62
           event.completionTime(),
65
-          true));
63
+          true);
66 64
         return cargoDTO;
67 65
       }
68 66
     };