def wdf_big(): athlete = models.Athlete(cp=200, w_prime=20000, weight=80) wdf = models.WorkoutDataFrame( pd.read_csv('tests/example_files/workout_1.csv')) wdf = wdf.set_index('time') wdf.athlete = athlete return wdf
def wdf(): data = {'time': range(10), 'heartrate': range(10), 'power': range(10)} athlete = models.Athlete(name='Chris', weight=80, ftp=300) wdf = models.WorkoutDataFrame(data) wdf = wdf.set_index('time') wdf.athlete = athlete return wdf
def test_is_valid_invalid_sample_rate(self): data = { 'time': range(0, 20, 2), 'heartrate': range(10), 'power': range(10) } wdf = models.WorkoutDataFrame(data) wdf = wdf.set_index('time') with pytest.raises( exceptions.WorkoutDataFrameValidationException) as e: wdf.is_valid() assert e.message == '[.\n]*Sample rate is not \(consistent\) 1Hz[.\n]*'
def test_is_valid_invalid_max_value(self): data = { 'time': range(10), 'heartrate': range(10), 'power': range(10000, 10010) } wdf = models.WorkoutDataFrame(data) wdf = wdf.set_index('time') with pytest.raises( exceptions.WorkoutDataFrameValidationException) as e: wdf.is_valid() assert e.message == '[.\n]*Column \'power\' has values > 3000[.\n]*'
def test_is_valid_invalid_dtype(self): data = { 'time': range(10), 'heartrate': np.arange(0, 15, 1.5), 'power': range(10) } wdf = models.WorkoutDataFrame(data) wdf = wdf.set_index('time') with pytest.raises( exceptions.WorkoutDataFrameValidationException) as e: wdf.is_valid() assert e.message == '[.\n]*Column \'heartrate\' is not of dtype[.\n]*'
def test_empty_init(self): wdf = models.WorkoutDataFrame() assert isinstance(wdf, pd.DataFrame) assert isinstance(wdf, models.WorkoutDataFrame)