@Test
public void handleRoundingLineItem_shouldRoundBillsWithANonZeroAmountCorrectlyForCEILING() throws Exception {

	CashierSettings settings = ModuleSettings.loadSettings();
	settings.setCashierRoundingMode(CashierOptions.RoundingMode.CEILING.toString());
	ModuleSettings.saveSettings(settings);
	settings = ModuleSettings.loadSettings();
	Assert.assertEquals(5, (int)settings.getCashierRoundingToNearest());
	Assert.assertEquals(CashierOptions.RoundingMode.CEILING.toString(), settings.getCashierRoundingMode());
	// Test bill
	Bill bill = new Bill();
	BillLineItem item = new BillLineItem();
	Item lineItemItem = new Item(1);
	item.setItem(lineItemItem);
	item.setLineItemOrder(0);
	item.setPrice(new BigDecimal(3.5));
	item.setQuantity(1);
	bill.addLineItem(item);
	// One line item
	Assert.assertEquals(1, bill.getLineItems().size());
	// Do rounding
	RoundingUtil.handleRoundingLineItem(bill);
	// Now two line items
	Assert.assertEquals(2, bill.getLineItems().size());
	// Assert rounding item's price
	BillLineItem rounding = bill.getLineItems().get(1);
	Assert.assertEquals(new BigDecimal(1.5), rounding.getTotal());
}