コード例 #1
0
 def testNotifyRiderPrice(self):
     d1 = Driver("V0", 23)
     r1 = Rider("R1", 0, 7, 1, 10, 20, 1, 1, 2, 1)  # 0
     r2 = Rider("R2", 0, 7, 3, 10, 20, 1, 1, 2, 1)
     r3 = Rider("R3", 0, 7, 77, 10, 20, 1, 1, 2, 1)
     r4 = Rider("R4", 0, 7, 6, 10, 20, 1, 1, 2, 1)
     riders = {"R1": r1, "R2": r2, "R3": r3, "R4": r4}
     d1.setRiders(riders)
     d1.calcTripRoute()
     d1.calcTripEffort()
     d1.notifyRiderPrice()
     self.assertAlmostEqual(7.87208, r1.getPrice(), delta=0.01)
     self.assertAlmostEqual(7.87208, r2.getPrice(), delta=0.01)
     self.assertAlmostEqual(7.87208, r3.getPrice(), delta=0.01)
     self.assertAlmostEqual(7.87208, r4.getPrice(), delta=0.01)
コード例 #2
0
    def testCalcPriceSuccess(self):
        r0 = Rider("R0", 0, 8, 24, 7.75, 20, -87.6333, 41.8996, -87.6764,
                   41.9012)
        r0.calcDetourTime(5)
        r0.calcPrice(1)
        self.assertAlmostEqual(6.0914, r0.getPrice(), delta=0.01)

        r0 = Rider("R0", 0, 8, 24, 7.75, 20, -87.6333, 41.8996, -87.6764,
                   41.9012)
        r0.calcDetourTime(5)
        r0.calcPrice(2)
        self.assertAlmostEqual(5.901, r0.getPrice(), delta=0.01)

        r0 = Rider("R0", 0, 8, 24, 7.75, 20, -87.6333, 41.8996, -87.6764,
                   41.9012)
        r0.calcDetourTime(5)
        r0.calcPrice(3)
        self.assertAlmostEqual(5.7107, r0.getPrice(), delta=0.01)

        r0 = Rider("R0", 0, 8, 24, 7.75, 20, -87.6333, 41.8996, -87.6764,
                   41.9012)
        r0.calcDetourTime(5)
        r0.calcPrice(4)
        self.assertAlmostEqual(5.52, r0.getPrice(), delta=0.01)
コード例 #3
0
 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))