Exemplo n.º 1
0
    def test_haversine_distance(self):
        self.assertEqual(Ravioly._haversine_distance(self, (0, 0), (0, 0)),
                         0.0)

        # d(Paris - London) is 347 km
        self.assertEqual(
            Ravioly._haversine_distance(self, (48.87, 2.33), (51.53, -0.24)),
            347.72272585658754,
        )
Exemplo n.º 2
0
    def test_km_by_dow(self):
        df: Ravioly = Ravioly(self.filepath)
        expected: List[float] = [
            16.45197715,
            22.97903081,
            12.41662616,
            8.61926878,
            38.01072274,
            27.85664986,
            24.18571021,
        ]

        for value, target in zip(df.km_by_dow().values, expected):
            self.assertAlmostEqual(value, target, delta=0.0001)
Exemplo n.º 3
0
 def test_init_args(self):
     columns: List[str] = [
         "pickup_datetime",
         "dropoff_datetime",
         "pickup_longitude",
         "pickup_latitude",
         "dropoff_longitude",
         "dropoff_latitude",
         "trip_duration",
     ]
     df: Ravioly = Ravioly(self.filepath, nrows=26, usecols=columns)
     self.assertIsInstance(df, pd.DataFrame)
     self.assertIsInstance(df, Ravioly)
     self.assertEqual(df.shape, (26, 9))
     self.assertTrue("distance" in df.columns)
     self.assertTrue("avg_speed" in df.columns)
Exemplo n.º 4
0
 def test_distance_values(self):
     df: Ravioly = Ravioly(self.filepath)
     expected: List[float] = [
         1.498521,
         1.805507,
         6.385098,
         1.485498,
         1.188588,
         1.098942,
         1.326279,
         5.714981,
         1.310353,
         5.121162,
         3.806139,
         3.773096,
         1.859483,
         0.991685,
         6.382836,
         0.656578,
         3.428086,
         2.538672,
         4.605201,
         1.303271,
         2.505926,
         1.724550,
         2.067085,
         4.874792,
         20.602575,
         4.559525,
         6.056109,
         3.738742,
         2.524849,
         9.939443,
         4.564593,
         5.423052,
         4.499284,
         10.238385,
         1.433100,
         1.492237,
         1.136392,
         0.959435,
         3.312410,
         2.587523,
     ]
     for value, target in zip(df.distance.values, expected):
         self.assertAlmostEqual(value, target, delta=0.0001)
Exemplo n.º 5
0
    def test_trip_by_ih(self):
        df: Ravioly = Ravioly(self.filepath)

        expected_2h: List[int] = [2, 2, 2, 4, 4, 6, 5, 3, 2, 4, 6]
        for value, target in zip(df.trip_by_ih(2).values, expected_2h):
            self.assertEqual(value, target)
        self.assertEqual(df.trip_by_ih(2).name, "trip_by_2h")

        expected_23h: List[int] = [37, 3]
        for value, target in zip(df.trip_by_ih(23).values, expected_23h):
            self.assertEqual(value, target)
        self.assertEqual(df.trip_by_ih(23).name, "trip_by_23h")

        expected_24h: List[int] = [40]
        for value, target in zip(df.trip_by_ih(24).values, expected_24h):
            self.assertEqual(value, target)
        self.assertEqual(df.trip_by_ih(24).name, "trip_by_24h")
Exemplo n.º 6
0
 def test_avg_speed_values(self):
     df: Ravioly = Ravioly(self.filepath)
     expected: List[float] = [
         11.856428,
         9.803659,
         10.822201,
         12.465721,
         9.836594,
         8.930458,
         14.001768,
         13.264945,
         18.499105,
         15.049944,
         10.755182,
         12.041796,
         6.009101,
         13.731021,
         16.250501,
         11.202279,
         5.328631,
         12.502351,
         12.588249,
         18.692336,
         18.562416,
         9.522056,
         17.592212,
         15.089641,
         29.846789,
         12.793679,
         19.293800,
         19.394051,
         10.189974,
         15.350491,
         11.110572,
         18.628805,
         15.848751,
         16.244242,
         7.297254,
         10.213026,
         7.397850,
         12.469197,
         10.029165,
         6.116273,
     ]
     for value, target in zip(df.avg_speed.values, expected):
         self.assertAlmostEqual(value, target, delta=0.0001)
Exemplo n.º 7
0
    def test_limits_trip_by_ih(self):
        df: Ravioly = Ravioly(self.filepath)
        with self.assertRaises(ValueError) as context:
            df.trip_by_ih(-1)
        self.assertTrue(
            "step should int or float, and within ]0, 24]. -1 given." in str(
                context.exception))

        with self.assertRaises(ValueError) as context:
            df.trip_by_ih(25)
        self.assertTrue(
            "step should int or float, and within ]0, 24]. 25 given." in str(
                context.exception))

        with self.assertRaises(ValueError) as context:
            df.trip_by_ih("toto")
        self.assertTrue(
            "step should int or float, and within ]0, 24]. toto given." in str(
                context.exception))
Exemplo n.º 8
0
 def test_trip_by_4h(self):
     df: Ravioly = Ravioly(self.filepath)
     expected: List[int] = [4, 2, 8, 11, 5, 10]
     for value, target in zip(df.trip_by_4h().values, expected):
         self.assertEqual(value, target)
     self.assertEqual(df.trip_by_4h().name, "trip_by_4h")
Exemplo n.º 9
0
 def test_trip_by_dow(self):
     df: Ravioly = Ravioly(self.filepath)
     expected: List[int] = [6, 6, 3, 3, 8, 8, 6]
     for value, target in zip(df.trip_by_dow().values, expected):
         self.assertEqual(value, target)
     self.assertEqual(df.trip_by_dow().name, "trip_by_dow")
Exemplo n.º 10
0
 def test_init(self):
     df: Ravioly = Ravioly(self.filepath)
     self.assertIsInstance(df, pd.DataFrame)
     self.assertIsInstance(df, Ravioly)
     self.assertEqual(df.shape, (40, 13))