Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Test
- public void computeChargeTest() {
- ShortStayParkingLot ls = new ShortStayParkingLot("Parking space", 10);
- DateTimeFormatter f = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
- DateTime before = f.parseDateTime("2015-06-01 12:00:00");
- DateTime after;
- // One second
- after = f.parseDateTime("2015-06-01 12:00:01");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // One minute
- after = f.parseDateTime("2015-06-01 12:01:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Ten minutes
- after = f.parseDateTime("2015-06-01 12:10:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Half an hour
- after = f.parseDateTime("2015-06-01 12:30:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Forty-five minutes
- after = f.parseDateTime("2015-06-01 12:45:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // One hour
- after = f.parseDateTime("2015-06-01 13:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Two hours
- after = f.parseDateTime("2015-06-01 14:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Three hours
- after = f.parseDateTime("2015-06-01 15:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Four hours
- after = f.parseDateTime("2015-06-01 16:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- //Five hours
- after = f.parseDateTime("2015-06-01 17:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // One day
- after = f.parseDateTime("2015-06-02 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 25"));
- // Two days
- after = f.parseDateTime("2015-06-03 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 50"));
- // Three days
- after = f.parseDateTime("2015-06-04 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 75"));
- // Four days
- after = f.parseDateTime("2015-06-05 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 100"));
- // Five days
- after = f.parseDateTime("2015-06-06 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 125"));
- // Six days
- after = f.parseDateTime("2015-06-07 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 125"));
- // One week
- after = f.parseDateTime("2015-06-08 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 125"));
- // One week and three days
- after = f.parseDateTime("2015-06-11 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 200"));
- // One week and six days
- after = f.parseDateTime("2015-06-14 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 275"));
- // One month
- after = f.parseDateTime("2015-07-01 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 550"));
- // Two months
- after = f.parseDateTime("2015-08-01 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 1125"));
- // One year
- after = f.parseDateTime("2016-06-01 12:00:00");
- assertEquals(ls.computeCharge(after, before), Money.parse("AUD 6550"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement