def test_whole_day(self): allocation = Allocation(raster=15, resource=uuid()) allocation.start = datetime(2013, 1, 1, 0, 0) allocation.end = datetime(2013, 1, 2, 0, 0) self.assertTrue(allocation.whole_day) allocation.start = datetime(2013, 1, 1, 0, 0) allocation.end = datetime(2013, 1, 1, 23, 59, 59, 999999) self.assertTrue(allocation.whole_day) allocation.start = datetime(2013, 1, 1, 0, 0) allocation.end = datetime(2013, 1, 2, 23, 59, 59, 999999) self.assertTrue(allocation.whole_day) allocation.start = datetime(2013, 1, 1, 0, 0) allocation.end = datetime(2013, 1, 2, 0, 0) self.assertTrue(allocation.whole_day) allocation.start = datetime(2013, 1, 1, 15, 0) allocation.end = datetime(2013, 1, 1, 0, 0) self.assertRaises(AssertionError, lambda: allocation.whole_day)
def test_simple_add(self): # Add one slot together with a timespan allocation = Allocation(raster=15, resource=uuid()) allocation.start = datetime(2011, 1, 1, 15) allocation.end = datetime(2011, 1, 1, 15, 59) allocation.group = uuid() reservation = uuid() slot = ReservedSlot(resource=allocation.resource) slot.start = allocation.start slot.end = allocation.end slot.allocation = allocation slot.reservation = reservation allocation.reserved_slots.append(slot) # Ensure that the same slot cannot be doubly used anotherslot = ReservedSlot(resource=allocation.resource) anotherslot.start = allocation.start anotherslot.end = allocation.end anotherslot.allocation = allocation anotherslot.reservation = reservation Session.add(anotherslot) self.assertRaises(IntegrityError, Session.flush)
def _create_allocation(self): allocation = Allocation(raster=15, resource=uuid()) allocation.start = datetime(2011, 1, 1, 15, 00) allocation.end = datetime(2011, 1, 1, 16, 00) allocation.group = str(uuid()) allocation.mirror_of = allocation.resource Session.add(allocation) return allocation
def test_simple_add(self): # Test a simple add allocation = Allocation(raster=15, resource=uuid()) allocation.start = datetime(2011, 1, 1, 15) allocation.end = datetime(2011, 1, 1, 15, 59) allocation.group = str(uuid()) allocation.mirror_of = allocation.resource Session.add(allocation) self.assertEqual(Session.query(Allocation).count(), 1) # Test failing add allocation = Allocation(raster=15) Session.add(allocation) self.assertRaises(IntegrityError, Session.flush)
def add_something(resource=None): resource = resource or uuid() allocation = Allocation(raster=15, resource=resource, mirror_of=resource) allocation.start = datetime(2011, 1, 1, 15) allocation.end = datetime(2011, 1, 1, 15, 59) allocation.group = uuid() Session.add(allocation)
def test_date_functions(self): allocation = Allocation(raster=60, resource=uuid()) allocation.start = datetime(2011, 1, 1, 12, 30) allocation.end = datetime(2011, 1, 1, 14, 00) self.assertEqual(allocation.start.hour, 12) self.assertEqual(allocation.start.minute, 0) self.assertEqual(allocation.end.hour, 13) self.assertEqual(allocation.end.minute, 59) start = datetime(2011, 1, 1, 11, 00) end = datetime(2011, 1, 1, 12, 05) self.assertTrue(allocation.overlaps(start, end)) self.assertFalse(allocation.contains(start, end)) start = datetime(2011, 1, 1, 13, 00) end = datetime(2011, 1, 1, 15, 00) self.assertTrue(allocation.overlaps(start, end)) self.assertFalse(allocation.contains(start, end))