Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
37792 amit 1
package com.spice.profitmandi.dao.model;
2
 
3
import org.junit.Test;
4
 
5
import static org.junit.Assert.assertEquals;
6
 
7
public class CarryBagQuoteTest {
8
 
9
    private static CarryBagQuote quote(int phones, int bags, boolean flatPriced) {
10
        return new CarryBagQuote(phones, bags, flatPriced, 1f, 12f);
11
    }
12
 
13
    @Test
14
    public void bagsBeyondThePhonesPayListingPrice() {
15
        CarryBagQuote q = quote(5, 8, true);
16
        assertEquals(5, q.getFlatQty());
17
        assertEquals(3, q.getListingQty());
18
        assertEquals(41d, q.getTotal(), 0.001);
19
        assertEquals(5.125f, q.getUnitPrice(), 0.0001f);
20
    }
21
 
22
    @Test
23
    public void fewerBagsThanPhonesAreAllFlat() {
24
        CarryBagQuote q = quote(5, 2, true);
25
        assertEquals(2, q.getFlatQty());
26
        assertEquals(0, q.getListingQty());
27
        assertEquals(2d, q.getTotal(), 0.001);
28
    }
29
 
30
    @Test
31
    public void bagsWithoutPhonesPayListingPrice() {
32
        CarryBagQuote q = quote(0, 400, true);
33
        assertEquals(0, q.getFlatQty());
34
        assertEquals(4800d, q.getTotal(), 0.001);
35
    }
36
 
37
    @Test
38
    public void partnerWithoutFlatPricePaysListingForEveryBag() {
39
        CarryBagQuote q = quote(5, 5, false);
40
        assertEquals(0, q.getFlatQty());
41
        assertEquals(60d, q.getTotal(), 0.001);
42
    }
43
 
44
    @Test
45
    public void withQuantityKeepsTheAllowance() {
46
        CarryBagQuote q = quote(5, 0, true).withQuantity(7);
47
        assertEquals(5, q.getFlatQty());
48
        assertEquals(29d, q.getTotal(), 0.001);
49
    }
50
 
51
    @Test
52
    public void blendedPriceTimesQuantityLandsOnTheTotal() {
53
        CarryBagQuote q = quote(7, 400, true);
54
        assertEquals(q.getTotal(), (double) q.getUnitPrice() * q.getQuantity(), 0.001);
55
    }
56
}