Skip to content

Commit e17fa75

Browse files
committed
Added tests for last changes in requisition line items
1 parent 11f7574 commit e17fa75

2 files changed

Lines changed: 55 additions & 0 deletions

File tree

src/main/java/org/openlmis/requisition/domain/requisition/LineItemFieldsCalculator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,11 @@ public static int calculateAverageConsumption(List<Integer> adjustedConsumptions
232232
*/
233233
public static int calculateAverageConsumptionForCurrentMonth(
234234
Integer adjustedConsumption) {
235+
236+
if (adjustedConsumption == null) {
237+
return 0;
238+
}
239+
235240
return (int) Math.ceil((adjustedConsumption) / 2.0);
236241
}
237242

src/test/java/org/openlmis/requisition/domain/requisition/RequisitionLineItemTest.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,56 @@ public void shouldCalculateStockBasedAverageConsumptionWithoutAdditionalQuantiti
691691
assertEquals(new Integer(51), item.getAverageConsumption());
692692
}
693693

694+
@Test
695+
public void shouldCalculateAverageConsumptionForCurrentPeriodWithNonNullValue() {
696+
// given
697+
RequisitionLineItem item = new RequisitionLineItemDataBuilder()
698+
.withAdjustedConsumption(10)
699+
.build();
700+
701+
// when
702+
item.calculateAndSetAverageConsumptionForCurrentPeriod();
703+
704+
// then
705+
assertEquals(5, item.getAverageConsumption().intValue());
706+
}
707+
708+
@Test
709+
public void shouldCalculateAverageConsumptionForCurrentPeriodWithNullValue() {
710+
// given
711+
RequisitionLineItem item = new RequisitionLineItemDataBuilder()
712+
.withAdjustedConsumption(null)
713+
.build();
714+
// when
715+
item.calculateAndSetAverageConsumptionForCurrentPeriod();
716+
// then
717+
assertEquals(0, item.getAverageConsumption().intValue());
718+
}
719+
720+
@Test
721+
public void shouldCalculateAverageConsumptionForCurrentMonthWithEvenNumber() {
722+
// when
723+
int result = LineItemFieldsCalculator.calculateAverageConsumptionForCurrentMonth(10);
724+
// then
725+
assertEquals(5, result);
726+
}
727+
728+
@Test
729+
public void shouldCalculateAverageConsumptionForCurrentMonthWithOddNumber() {
730+
// when
731+
int result = LineItemFieldsCalculator.calculateAverageConsumptionForCurrentMonth(11);
732+
// then
733+
assertEquals(6, result);
734+
}
735+
736+
@Test
737+
public void shouldCalculateAverageConsumptionForCurrentMonthWithZero() {
738+
// when
739+
int result = LineItemFieldsCalculator.calculateAverageConsumptionForCurrentMonth(0);
740+
// then
741+
assertEquals(0, result);
742+
}
743+
694744
private void checkResultsOfConstruction(RequisitionLineItem item) {
695745
assertEquals(initiatedRequisition, item.getRequisition());
696746
assertEquals(orderableId, item.getOrderable().getId());

0 commit comments

Comments
 (0)