refactoring : shotgun surgery - inline class

This commit is contained in:
haerong22
2022-03-20 15:13:29 +09:00
parent 1deceed613
commit 6a0d19bc72
4 changed files with 103 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
package com.example.refactoring._08_shotgun_surgery._29_inline_class;
public class Shipment {
private String shippingCompany;
private String trackingNumber;
public Shipment(String shippingCompany, String trackingNumber) {
this.shippingCompany = shippingCompany;
this.trackingNumber = trackingNumber;
}
public String getTrackingInfo() {
return this.shippingCompany + ": " + this.trackingNumber;
}
public String getShippingCompany() {
return shippingCompany;
}
public void setShippingCompany(String shippingCompany) {
this.shippingCompany = shippingCompany;
}
public String getTrackingNumber() {
return trackingNumber;
}
public void setTrackingNumber(String trackingNumber) {
this.trackingNumber = trackingNumber;
}
}

View File

@@ -0,0 +1,22 @@
package com.example.refactoring._08_shotgun_surgery._29_inline_class._before;
public class Shipment {
private TrackingInformation trackingInformation;
public Shipment(TrackingInformation trackingInformation) {
this.trackingInformation = trackingInformation;
}
public TrackingInformation getTrackingInformation() {
return trackingInformation;
}
public void setTrackingInformation(TrackingInformation trackingInformation) {
this.trackingInformation = trackingInformation;
}
public String getTrackingInfo() {
return this.trackingInformation.display();
}
}

View File

@@ -0,0 +1,33 @@
package com.example.refactoring._08_shotgun_surgery._29_inline_class._before;
public class TrackingInformation {
private String shippingCompany;
private String trackingNumber;
public TrackingInformation(String shippingCompany, String trackingNumber) {
this.shippingCompany = shippingCompany;
this.trackingNumber = trackingNumber;
}
public String display() {
return this.shippingCompany + ": " + this.trackingNumber;
}
public String getShippingCompany() {
return shippingCompany;
}
public void setShippingCompany(String shippingCompany) {
this.shippingCompany = shippingCompany;
}
public String getTrackingNumber() {
return trackingNumber;
}
public void setTrackingNumber(String trackingNumber) {
this.trackingNumber = trackingNumber;
}
}

View File

@@ -0,0 +1,15 @@
package com.example.refactoring._08_shotgun_surgery._29_inline_class;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class ShipmentTest {
@Test
void trackingInfo() {
Shipment shipment = new Shipment("UPS", "12345");
assertEquals("UPS: 12345", shipment.getTrackingInfo());
}
}