refactoring : shotgun surgery - inline function

This commit is contained in:
haerong22
2022-03-19 14:57:59 +09:00
parent 548d6636b9
commit 1deceed613
5 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package com.example.refactoring._08_shotgun_surgery._28_inline_function;
public class Driver {
private int numberOfLateDeliveries;
public Driver(int numberOfLateDeliveries) {
this.numberOfLateDeliveries = numberOfLateDeliveries;
}
public int getNumberOfLateDeliveries() {
return this.numberOfLateDeliveries;
}
}

View File

@@ -0,0 +1,9 @@
package com.example.refactoring._08_shotgun_surgery._28_inline_function;
public class Rating {
public int rating(Driver driver) {
return driver.getNumberOfLateDeliveries() > 5 ? 2 : 1;
}
}

View File

@@ -0,0 +1,14 @@
package com.example.refactoring._08_shotgun_surgery._28_inline_function._before;
public class Driver {
private int numberOfLateDeliveries;
public Driver(int numberOfLateDeliveries) {
this.numberOfLateDeliveries = numberOfLateDeliveries;
}
public int getNumberOfLateDeliveries() {
return this.numberOfLateDeliveries;
}
}

View File

@@ -0,0 +1,12 @@
package com.example.refactoring._08_shotgun_surgery._28_inline_function._before;
public class Rating {
public int rating(Driver driver) {
return moreThanFiveLateDeliveries(driver) ? 2 : 1;
}
private boolean moreThanFiveLateDeliveries(Driver driver) {
return driver.getNumberOfLateDeliveries() > 5;
}
}

View File

@@ -0,0 +1,16 @@
package com.example.refactoring._08_shotgun_surgery._28_inline_function;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class RatingTest {
@Test
void rating() {
Rating rating = new Rating();
assertEquals(2, rating.rating(new Driver(15)));
assertEquals(1, rating.rating(new Driver(3)));
}
}