示例#1
0
def test_read_fit_course(example):
    course = sweat.read_fit(example.path)

    assert isinstance(course, pd.DataFrame)
    assert isinstance(course.index, pd.DatetimeIndex)
    included_data = set(i.value for i in example.included_data)
    assert included_data <= set(course.columns.to_list())
示例#2
0
    def test_accessor_time_in_zone(self):
        example = sweat.examples(path="4078723797.fit")
        data = sweat.read_fit(example.path)

        time_in_zone = data["heartrate"].sweat.time_in_zone(
            [0, 100, 150, np.inf], ["zone 1", "zone 2", "zone 3"])
        assert set(time_in_zone.index.unique()) == set(
            ["zone 1", "zone 2", "zone 3"])
示例#3
0
    def test_accessor_compute_zones(self):
        example = sweat.examples(path="4078723797.fit")
        data = sweat.read_fit(example.path)

        zones = data["heartrate"].sweat.calculate_zones(
            [0, 100, 150, np.inf], ["zone 1", "zone 2", "zone 3"])
        assert len(zones) == len(data)
        assert set(zones.unique()) == set(["zone 1", "zone 2", "zone 3"])
示例#4
0
    def test_accessor(self):
        example = sweat.examples(path="4078723797.fit")
        data = sweat.read_fit(example.path)
        mean_max_data = data.sweat.mean_max("power")

        assert isinstance(mean_max_data, pd.DataFrame)
        assert isinstance(mean_max_data.index, pd.TimedeltaIndex)
        assert "mean_max_power" in mean_max_data.columns
        assert len(mean_max_data) == len(data) - 1
示例#5
0
    def test_accessor_relative_index(self):
        example = sweat.examples(path="4078723797.fit")
        data = sweat.read_fit(example.path)

        data = data["power"].sweat.to_timedelta_index()

        assert isinstance(data, pd.Series)
        assert isinstance(data.index, pd.TimedeltaIndex)
        assert data.name == "power"
示例#6
0
    def test_accessor(self):
        example = sweat.examples(path="4078723797.fit")
        data = sweat.read_fit(example.path)
        mean_max = data["power"].sweat.mean_max()

        assert isinstance(mean_max, pd.Series)
        assert isinstance(mean_max.index, pd.TimedeltaIndex)
        assert mean_max.name == "mean_max_power"
        assert len(mean_max) == len(data) - 1
示例#7
0
    def test_accessor_relative_index(self):
        example = sweat.examples(path="4078723797.fit")
        data = sweat.read_fit(example.path)

        data = data.sweat.to_timedelta_index()

        assert isinstance(data, pd.DataFrame)
        assert isinstance(data.index, pd.TimedeltaIndex)
        assert "power" in data.columns
示例#8
0
    def test_accessor_not_1hz(self):
        example = sweat.examples(path="2020-06-01-16-52-40.fit")
        data = sweat.read_fit(example.path)

        with pytest.raises(AttributeError):
            data["power"].sweat.mean_max()
示例#9
0
def test_read_fit_no_fit():
    example_tcx = sweat.examples(path="activity_4078723797.tcx")
    with pytest.raises(exceptions.InvalidFitFile):
        sweat.read_fit(example_tcx.path)
示例#10
0
def read_fit_file_py(f):
    d = read_fit(f)
    d = d.reset_index()
    return d