[334] | 1 | package bargainingchips.tests;
|
---|
| 2 |
|
---|
| 3 | import static org.junit.Assert.assertEquals;
|
---|
| 4 |
|
---|
| 5 | import org.junit.Test;
|
---|
| 6 |
|
---|
| 7 | import bargainingchips.Stack;
|
---|
| 8 | import bargainingchips.Bundle;
|
---|
| 9 | import bargainingchips.BundleBuilder;
|
---|
| 10 |
|
---|
| 11 |
|
---|
| 12 | public class BundleTest
|
---|
| 13 | {
|
---|
| 14 |
|
---|
| 15 | @Test
|
---|
| 16 | public void testConstructor()
|
---|
| 17 | {
|
---|
| 18 |
|
---|
| 19 | Bundle a = new BundleBuilder()
|
---|
| 20 | .addStack("White", 4.0, 30)
|
---|
| 21 | .addStack("Yellow", 6.0, 20)
|
---|
| 22 | .build();
|
---|
| 23 |
|
---|
| 24 | Bundle b = new BundleBuilder()
|
---|
| 25 | .addStack("Red", 1.0, 10)
|
---|
| 26 | .addStack("Blue", 8.0, 30)
|
---|
| 27 | .addStack("Orange", 4.0, 30)
|
---|
| 28 | .addStack("Pink", 8.0, 80)
|
---|
| 29 | .build();
|
---|
| 30 |
|
---|
| 31 | assertEquals(a.size(), 2);
|
---|
| 32 |
|
---|
| 33 | assertEquals(b.size(), 4);
|
---|
| 34 |
|
---|
[338] | 35 | assertEquals(a.getTotalPrice(), 240.0 , 0.0);
|
---|
[334] | 36 |
|
---|
[338] | 37 | assertEquals(b.getTotalPrice(), 1010.0 , 0.0);
|
---|
[334] | 38 | }
|
---|
| 39 |
|
---|
| 40 | @Test
|
---|
| 41 | public void testAggregationSymmetry()
|
---|
| 42 | {
|
---|
| 43 |
|
---|
[335] | 44 | System.out.println("7 Agrregation tests: ");
|
---|
[334] | 45 |
|
---|
| 46 | Bundle a = new BundleBuilder()
|
---|
| 47 | .addStack("White", 4.0, 30)
|
---|
| 48 | .addStack("Yellow", 6.0, 20)
|
---|
| 49 | .build();
|
---|
| 50 |
|
---|
| 51 | Bundle b = new BundleBuilder()
|
---|
| 52 | .addStack("Red", 1.0, 10)
|
---|
| 53 | .addStack("Blue", 8.0, 30)
|
---|
| 54 | .addStack("Orange", 4.0, 30)
|
---|
| 55 | .addStack("Pink", 8.0, 80)
|
---|
| 56 | .build();
|
---|
| 57 |
|
---|
| 58 | Bundle aPlusb = a.aggregateWith(b);
|
---|
[335] | 59 | System.out.println("1. " + a + " + " + b + " = " + aPlusb);
|
---|
[334] | 60 |
|
---|
| 61 | Bundle bPlusa = b.aggregateWith(a);
|
---|
[335] | 62 | System.out.println("2. " + b + " + " + a + " = " + bPlusa);
|
---|
[334] | 63 |
|
---|
| 64 | Stack s = new Stack("Green", 7.0, 5);
|
---|
| 65 |
|
---|
| 66 | Bundle aPluss = a.aggregateWith(s);
|
---|
[335] | 67 | System.out.println("3. " + a + " + " + s + " = " + aPluss);
|
---|
[334] | 68 |
|
---|
| 69 |
|
---|
| 70 | Bundle c = new BundleBuilder()
|
---|
| 71 | .addStack("Green", 7.0, 5)
|
---|
| 72 | .addStack("Yellow", 6.0, 20)
|
---|
| 73 | .build();
|
---|
| 74 |
|
---|
| 75 | Stack t = new Stack("White", 4.0, 30);
|
---|
| 76 | Bundle cPlust = c.aggregateWith(t);
|
---|
[335] | 77 | System.out.println("4. " + c + " + " + t + " = " + cPlust);
|
---|
[334] | 78 |
|
---|
| 79 | assertEquals(aPluss.getTotalPrice(), cPlust.getTotalPrice());
|
---|
| 80 |
|
---|
| 81 |
|
---|
| 82 | Stack u = new Stack("Red", 3.0, 20);
|
---|
| 83 |
|
---|
| 84 | Bundle bPlusu = b.aggregateWith(u);
|
---|
[335] | 85 | System.out.println("5. " + b + " + " + u + " = " + bPlusu);
|
---|
[334] | 86 |
|
---|
[335] | 87 |
|
---|
| 88 | Bundle d = null;
|
---|
| 89 | Bundle aPlusd = a.aggregateWith(d);
|
---|
| 90 | System.out.println("6. " + a + " + " + d + " = " + aPlusd);
|
---|
| 91 |
|
---|
| 92 |
|
---|
| 93 |
|
---|
| 94 | Stack v = null;
|
---|
| 95 |
|
---|
| 96 | Bundle bPlusv = b.aggregateWith(v);
|
---|
| 97 | System.out.println("7. " + b + " + " + v + " = " + bPlusv);
|
---|
| 98 |
|
---|
| 99 |
|
---|
[334] | 100 | }
|
---|
| 101 |
|
---|
| 102 | }
|
---|