Exemple #1
0
def test_tictok_1(watopia_waistband):
    rfile = "test_data/tictoc/2020-10-29-19-10-19.fit"
    activity = Track(gpsbabel(str(rfile)))
    activity.distance()
    rs = TicTocResults(df=activity.df, segments=watopia_waistband)
    rs.calc_results()
    assert rs.results[1]['distance'] == 2358.3245572657142
Exemple #2
0
def test_tracks_1_gpsbabel():
    activityfile = "../tests/test_data/tcx/test_tcx_1.tcx"
    df = gpsbabel(activityfile)
    t = Track(df=df)
    elev = t.elevation()
    assert elev['min_elevation'] == pytest.approx(1881.0, .1)
    assert elev['max_elevation'] == pytest.approx(2402.4, .1)
    assert elev['avg_elevation'] == pytest.approx(2147.082558643611, .1)
    assert elev['ascent'] == pytest.approx(1919.7999999999963, .1)
    assert elev['descent'] == pytest.approx(-1907.9999999999961, .1)
    dist = t.distance()
    assert dist['total_distance'] == pytest.approx(85485.77194022556, .1)
    ti = t.time()
    assert ti['elapsed_duration'] == timedelta(hours=5, minutes=46, seconds=0)
    assert ti['activity_time'] == timedelta(hours=5, minutes=46, seconds=0)
    assert ti['moving_time'] == timedelta(hours=5, minutes=27, seconds=10)
Exemple #3
0
def test_rallystyle_basic(rally_files, roubaix):
    for f in rally_files:
        rs = RallyResults(df=Track(gpsbabel(str(f))).df, segments=roubaix)
        try:
            rs.match_checkpoints()
        except:
            print(f.name)
            raise

        rs.calc_results()
def test_roubaix_5(roubaix):
    rfile = "test_data/rallystyle/roubaix/richard_e.gpx"
    rs = RallyResults(df=Track(gpsbabel(str(rfile))).df, segments=roubaix)
    rs.match_checkpoints()
    rs.calc_results()
    assert rs.results[-1]['Segment_name'] == 'Finish'
    assert rs.results[-1]['location'] == {'lat': 40.116263, 'lon': -105.257817}
    assert rs.results[-1]['type'] == 'end'
    assert rs.results[-1]['duration'] == None
    assert rs.results[-1]['total_timed'].total_seconds() == timedelta(
        hours=1, minutes=8, seconds=57).total_seconds()
Exemple #5
0
def test_tcx_tracks(all_files):
    '''
    uses tcx not gpsbabel
    '''
    for f in all_files:
        if f.suffix == '.tcx':
            t = Track(df=tcx(f))
            t.elevation()
            assert t.avg_elevation >= 0, f"failing file: {str(f)}"
            t.distance()
            assert t.total_distance > 0, f"failing file: {str(f)}"
            t.time()
            assert t.start_time < t.end_time, f"failing file: {str(f)}"
Exemple #6
0
def test_gpx_tracks(all_files):
    """
    uses gpx not gpsbabel
    """
    assert len(all_files) > 0
    for f in all_files:
        if f.suffix == '.gpx':
            t = Track(df=gpx(f))
            t.elevation()
            assert t.avg_elevation != 0, f"failing file: {str(f)}"
            t.distance()
            assert t.total_distance > 0, f"failing file: {str(f)}"
            t.time()
            assert t.start_time < t.end_time, f"failing file: {str(f)}"
def test_roubaix_1(roubaix):
    rfile = "test_data/rallystyle/roubaix/dan_b.gpx"
    rs = RallyResults(df=Track(gpsbabel(str(rfile))).df, segments=roubaix)
    rs.match_checkpoints()
    rs.calc_results()
    assert rs.results[0]['duration'] == timedelta(hours=1,
                                                  minutes=2,
                                                  seconds=2)
    assert rs.results[0]['total_timed'] == timedelta(0)
    assert rs.results[1]['duration'] == timedelta(hours=0,
                                                  minutes=0,
                                                  seconds=33)
    assert rs.results[1]['total_timed'] == timedelta(0)
    assert rs.results[2]['duration'].total_seconds() == timedelta(
        hours=0, minutes=50, seconds=9).total_seconds()
    assert rs.results[2]['total_timed'].total_seconds() == timedelta(
        hours=0, minutes=50, seconds=9).total_seconds()
    assert rs.results[-1]['total_timed'].total_seconds() == timedelta(
        days=0, minutes=50, seconds=9).total_seconds()
    assert rs.results[-1]['duration'] == None
def test_roubaix_4(roubaix):
    rfile = "test_data/rallystyle/roubaix/michelle_m.gpx"
    rs = RallyResults(df=Track(gpsbabel(str(rfile))).df, segments=roubaix)
    rs.match_checkpoints()
    rs.calc_results()
def test_roubaix_2(roubaix):
    rfile = "test_data/rallystyle/roubaix/dean_d.fit"
    rs = RallyResults(df=Track(gpsbabel(str(rfile))).df, segments=roubaix)
    rs.match_checkpoints()
    rs.calc_results()