def testUpdateRidersInWaitDict(self): r1 = Rider("R1", 0, 7, 1, 10, 20, 1, 1, 2, 1) dispatch = Dispatcher() for zone_id in range(1, 78): dispatch.cancel_rider[zone_id] = 0 dispatch.handleRiderIntoDict(r1) RiderStatusTracker.timestamp = 1 dispatch.updateRidersInWaitDict() self.assertEqual(WAITING, r1.getStatus()) self.assertEqual( "7: {0: {}, 1: {}, 2: {}, 3: {}, 4: {}, 5: {}, 6: {1: [R1, ], }, 7: {}, 8: {}, 9: {}, 10: {}, 11: {}, -1: {}, }", dispatch.showRiderWaitDict(7)) self.assertEqual(1, r1.getWaitTime()) self.assertEqual(1, dispatch.countRiderNumberInWaitDict()) RiderStatusTracker.timestamp = 21 dispatch.updateRidersInWaitDict() self.assertEqual(CANCEL, r1.getStatus()) self.assertEqual( "7: {0: {}, 1: {}, 2: {}, 3: {}, 4: {}, 5: {}, 6: {}, 7: {}, 8: {}, 9: {}, 10: {}, 11: {}, -1: {}, }", dispatch.showRiderWaitDict(7)) self.assertEqual("{R1, }", dispatch.showRiderCanceledDict()) self.assertEqual(1, r1.getWaitTime()) self.assertEqual(1, dispatch.countRiderNumberInCancelDict())
def testConstructor(self): r1 = Rider("R1", 0, 7, 6, 10, 20, 1, 1, 2, 1) self.assertEqual("R1", r1.getID()) self.assertEqual(0, r1.getRequestTimeStamp()) self.assertEqual(7, r1.getSrcZone()) self.assertEqual(6, r1.getDestZone()) self.assertEqual(10, r1.getDefaultPrice()) self.assertEqual(math.inf, r1.getPrice()) self.assertEqual(20, r1.getPatience()) self.assertEqual(1, r1.getShortestTime()) self.assertEqual(None, r1.getArrivalTimestamp()) self.assertEqual(None, r1.getGroupID()) self.assertEqual("waiting", r1.getStatus()) self.assertEqual(0, r1.getWaitTime()) self.assertEqual(-1, r1.getDetourTime()) self.assertEqual(0, r1.getSat()) self.assertEqual( "{R1, 0, 7, 6, 10, inf, 20, 6, 1, None, None, waiting, 0, -1, 0}", str(r1))
def testTickWaitTime(self): r0 = Rider("R0", 0, 8, 24, 7.75, 20, -87.6333, 41.8996, -87.6764, 41.9012) r0.tickWaitTime() self.assertEqual(1, r0.getWaitTime())