def setUp(self): self.t1 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 7)), timezone.make_aware(datetime(2016, 12, 24, 9))) self.t2 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 9)), timezone.make_aware(datetime(2016, 12, 24, 10))) self.t3 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 16)), timezone.make_aware(datetime(2016, 12, 24, 18))) self.t4 = Ticket(timezone.make_aware(datetime(2016, 12, 24, 18)), timezone.make_aware(datetime(2016, 12, 24, 20))) self.sch = Schedule.objects.create( schedule_lot=ScheduleLot.objects.create(name='Strefa A'), start=timezone.make_aware(datetime(2016, 12, 24, 8)), end=timezone.make_aware(datetime(2016, 12, 24, 17)))
def test_price_calculation(self): # prepare t = Ticket(self.start, self.end) # do price = self.lot.calculate_price(t) # check self.assertEqual(price, Decimal('9.0'), msg='Price is wrong')
def test_get_schedule_from_one_day(self): # prepare t = Ticket(self.s1_start, self.s1_start + timedelta(hours=2)) # do schedule = self.lot.get_schedule_for_date(t.start) # check self.assertEqual(schedule.start, self.s1_start, msg='Wrong schedule')
def test_get_schedule_start_in_ends_after(self): # prepare t = Ticket(self.s1_start + timedelta(hours=3), self.s1_end + timedelta(hours=2)) # do schedule = self.lot.get_schedule_for_date(t.start) # check self.assertEqual(schedule.start, self.s1_start, msg='Wrong schedule')
def test_get_schedule_week_later(self): # prepare start = self.s1_start + timedelta(days=7) t = Ticket(start, start + timedelta(hours=2)) # do schedule = self.lot.get_schedule_for_date(t.start) # check self.assertEqual(schedule.start, start, msg='Wrong schedule')
def test_ticket_start_before_end_after(self): # prepare self.charges1() t = Ticket(start=self.s_start - timedelta(minutes=45), end=self.s_end + timedelta(days=1)) # do price = self.sch.calculate_price(t) # check self.assertEqual(price, Decimal('9.0'), msg='Price is wrong')
def test_ticket_in_three_charges(self): # prepare self.charges1() t = Ticket(start=self.s_start + timedelta(hours=1), end=self.s_start + timedelta(hours=3, minutes=30)) # do sch = Schedule.objects.get() price = sch.calculate_price(t) # check self.assertEqual(price, Decimal('2.5'), msg='Price is wrong')
def test_ticket_in_one_charge(self): # prepare self.charges1() t = Ticket(start=self.s_start, end=self.s_start + timedelta(minutes=60)) # do sch = Schedule.objects.get() price = sch.calculate_price(t) # check self.assertEqual(price, Decimal('1.0'), msg='Price is wrong')