Exemplo n.º 1
0
    def test_turns_per_km(self, load_stream_mock):
        load_stream_mock.return_value = pd.DataFrame(
            {'latlng': [[52.1, 5.3], [52.2, 5.4], [58, 5.5], [52.4, 5.4], [52.5, 5.3]]},
            index=[1, 2, 3, 4, 5])
        activity_df = pd.DataFrame({'strava_id': [1, 2], 'distance': [1, 2]})
        activity_features = ActivityFeatures(MongoClient())

        features_result = activity_features.turns_per_km(activity_df)

        self.assertItemsEqual(list(features_result.columns.values), ['strava_id', 'distance', 'turns_per_km'])
        self.assertAlmostEqual(features_result.turns_per_km[0], 0.12, 2)
        self.assertAlmostEqual(features_result.turns_per_km[1], 0.06, 2)
Exemplo n.º 2
0
    def test_max_value_maintained_for_n_minutes(self, load_stream_mock):
        """Should return the maximum heartrate that was maintained for at least 5 minutes by default"""
        load_stream_mock.return_value = pd.DataFrame(
            {'heartrate': [100, 115, 120, 100, 110]},
            index=[180, 360, 540, 720, 900]
        )
        activity_df = pd.DataFrame(
            {'strava_id': [1, 2], 'distance': [1, 2]}
        )
        activity_features = ActivityFeatures(MongoClient())

        features_result = activity_features.max_value_maintained_for_n_minutes(activity_df)

        self.assertItemsEqual(list(features_result.columns.values),
                              ['strava_id', 'distance', 'max_heartrate_5_minutes'])
        self.assertEqual(len(features_result), 2)
        self.assertEqual(features_result.max_heartrate_5_minutes[0], 115)
Exemplo n.º 3
0
    def test_max_value_maintained_for_n_minutes_alternative_measure_and_window(self, load_stream_mock):
        """Should return the maximum value of the given measure that was maintained for the given number of
        minutes"""
        load_stream_mock.return_value = pd.DataFrame(
            {'power': [100, 115, 120, 100, 110]},
            index=[180, 360, 540, 720, 900]
        )
        activity_df = pd.DataFrame(
            {'strava_id': [1, 2], 'distance': [1, 2]}
        )
        activity_features = ActivityFeatures(MongoClient())

        features_result = activity_features.max_value_maintained_for_n_minutes(activity_df,
                                                                               measurement='power',
                                                                               window_size=8)

        self.assertItemsEqual(list(features_result.columns.values),
                              ['strava_id', 'distance', 'max_power_8_minutes'])
        self.assertEqual(len(features_result), 2)
        self.assertEqual(features_result.max_power_8_minutes[0], 100)