@@ -12,19 +12,22 @@ public class TieredPricingShould {
1212 @ Test
1313 void calculate_total_value_for_first_pricing_range () {
1414 var pricing = new TieredPricing ();
15- var subscription = IntStream . rangeClosed (FIRST_RANGE_LOWER_LIMIT , FIRST_RANGE_UPPER_LIMIT ). findAny (). getAsInt ( );
16- assertEquals (FIRST_RANGE_UNIT_PRICE * subscription , pricing .calculateTotalPrice (subscription ));
15+ var subscription = retrieveSubscriptionGivenRange (FIRST_RANGE_LOWER_LIMIT , FIRST_RANGE_UPPER_LIMIT );
16+ assertEquals (calculateTotalPriceExpected ( FIRST_RANGE_UNIT_PRICE , subscription ) , pricing .calculateTotalPrice (subscription ));
1717 }
1818
1919 @ Test
20- void calculate_total_value_for_3_subscription () {
20+ void calculate_total_value_for_second_pricing_range () {
2121 var pricing = new TieredPricing ();
22- assertEquals (717 , pricing .calculateTotalPrice (3 ));
22+ var subscription = retrieveSubscriptionGivenRange (SECOND_RANGE_LOWER_LIMIT ,SECOND_RANGE_UPPER_LIMIT );
23+ assertEquals (calculateTotalPriceExpected (SECOND_RANGE_UNIT_PRICE , subscription ), pricing .calculateTotalPrice (subscription ));
2324 }
2425
25- @ Test
26- void calculate_total_value_for_4_subscription () {
27- var pricing = new TieredPricing ();
28- assertEquals (956 , pricing .calculateTotalPrice (4 ));
26+ private int retrieveSubscriptionGivenRange (int lowerLimit , int upperLimit ) {
27+ return IntStream .rangeClosed (lowerLimit , upperLimit ).findAny ().getAsInt ();
28+ }
29+
30+ private int calculateTotalPriceExpected (int unitPrice , int subscription ) {
31+ return unitPrice * subscription ;
2932 }
3033}
0 commit comments