Kaynağa Gözat

Introduced CargoRepository with tests (failing).

Patrik Fredriksson 19 yıl önce
ebeveyn
işleme
a55aed4b41

+ 6
- 2
dddsample/src/main/java/se/citerus/dddsample/domain/Cargo.java Dosyayı Görüntüle

1
 package se.citerus.dddsample.domain;
1
 package se.citerus.dddsample.domain;
2
 
2
 
3
 public class Cargo {
3
 public class Cargo {
4
-  private final String trackingId;
4
+  private final TrackingId trackingId;
5
   private final Location from;
5
   private final Location from;
6
   private final Location to;
6
   private final Location to;
7
 
7
 
8
-  public Cargo(String trackingId, Location origin, Location finalDestination) {
8
+  public Cargo(TrackingId trackingId, Location origin, Location finalDestination) {
9
     this.trackingId = trackingId;
9
     this.trackingId = trackingId;
10
     this.from = origin;
10
     this.from = origin;
11
     this.to = finalDestination;
11
     this.to = finalDestination;
26
   public Location currentLocation() {
26
   public Location currentLocation() {
27
     return null;  //To change body of created methods use File | Settings | File Templates.
27
     return null;  //To change body of created methods use File | Settings | File Templates.
28
   }
28
   }
29
+
30
+  public TrackingId trackingId() {
31
+    return null;  //To change body of created methods use File | Settings | File Templates.
32
+  }
29
 }
33
 }

+ 6
- 0
dddsample/src/main/java/se/citerus/dddsample/domain/CargoRepository.java Dosyayı Görüntüle

1
+package se.citerus.dddsample.domain;
2
+
3
+
4
+public interface CargoRepository {
5
+  Cargo find(TrackingId trackingId);
6
+}

+ 7
- 0
dddsample/src/main/java/se/citerus/dddsample/domain/CargoRepositoryImpl.java Dosyayı Görüntüle

1
+package se.citerus.dddsample.domain;
2
+
3
+public class CargoRepositoryImpl implements CargoRepository {
4
+  public Cargo find(TrackingId trackingId) {
5
+    return null;  //To change body of implemented methods use File | Settings | File Templates.
6
+  }
7
+}

+ 6
- 0
dddsample/src/main/java/se/citerus/dddsample/domain/TrackingId.java Dosyayı Görüntüle

1
+package se.citerus.dddsample.domain;
2
+
3
+public class TrackingId {
4
+  public TrackingId(String s) {
5
+  }
6
+}

+ 16
- 0
dddsample/src/test/java/se/citerus/dddsample/domain/CargoRepositoryTest.java Dosyayı Görüntüle

1
+package se.citerus.dddsample.domain;
2
+
3
+import junit.framework.TestCase;
4
+
5
+public class CargoRepositoryTest extends TestCase {
6
+
7
+  public void testFindByCargoId() {
8
+
9
+    CargoRepository repository = new CargoRepositoryImpl();
10
+    final TrackingId trackingId = new TrackingId("XYZ");
11
+    Cargo cargo = repository.find(trackingId);
12
+
13
+    assertSame(trackingId, cargo.trackingId());
14
+
15
+  }
16
+}

+ 1
- 1
dddsample/src/test/java/se/citerus/dddsample/domain/TrackingScenarioTest.java Dosyayı Görüntüle

23
   }
23
   }
24
 
24
 
25
   private Cargo populateCargo() {
25
   private Cargo populateCargo() {
26
-    final Cargo cargo = new Cargo("XYZ", new Location("SESTO"), new Location("AUMEL"));
26
+    final Cargo cargo = new Cargo(new TrackingId("XYZ"), new Location("SESTO"), new Location("AUMEL"));
27
 
27
 
28
     final CarrierMovement stockholmToHamburg =
28
     final CarrierMovement stockholmToHamburg =
29
        new CarrierMovement(new Location("SESTO"), new Location("DEHAM"));
29
        new CarrierMovement(new Location("SESTO"), new Location("DEHAM"));