Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.model;import org.junit.Test;import static org.junit.Assert.assertEquals;public class CarryBagQuoteTest {private static CarryBagQuote quote(int phones, int bags, boolean flatPriced) {return new CarryBagQuote(phones, bags, flatPriced, 1f, 12f);}@Testpublic void bagsBeyondThePhonesPayListingPrice() {CarryBagQuote q = quote(5, 8, true);assertEquals(5, q.getFlatQty());assertEquals(3, q.getListingQty());assertEquals(41d, q.getTotal(), 0.001);assertEquals(5.125f, q.getUnitPrice(), 0.0001f);}@Testpublic void fewerBagsThanPhonesAreAllFlat() {CarryBagQuote q = quote(5, 2, true);assertEquals(2, q.getFlatQty());assertEquals(0, q.getListingQty());assertEquals(2d, q.getTotal(), 0.001);}@Testpublic void bagsWithoutPhonesPayListingPrice() {CarryBagQuote q = quote(0, 400, true);assertEquals(0, q.getFlatQty());assertEquals(4800d, q.getTotal(), 0.001);}@Testpublic void partnerWithoutFlatPricePaysListingForEveryBag() {CarryBagQuote q = quote(5, 5, false);assertEquals(0, q.getFlatQty());assertEquals(60d, q.getTotal(), 0.001);}@Testpublic void withQuantityKeepsTheAllowance() {CarryBagQuote q = quote(5, 0, true).withQuantity(7);assertEquals(5, q.getFlatQty());assertEquals(29d, q.getTotal(), 0.001);}@Testpublic void blendedPriceTimesQuantityLandsOnTheTotal() {CarryBagQuote q = quote(7, 400, true);assertEquals(q.getTotal(), (double) q.getUnitPrice() * q.getQuantity(), 0.001);}}