def test_save_load_ride_pp():
    filename = load_toy()[0]
    my_ride_rpp = RidePowerProfile(max_duration_profile=1)
    my_ride_rpp.fit(filename)

    tmp_dir = mkdtemp()
    try:
        store_filename = os.path.join(tmp_dir, 'ride_rpp.pkl')
        my_ride_rpp.save_to_pickles(store_filename)
        obj = RidePowerProfile.load_from_pickles(store_filename)

        assert_array_equal(my_ride_rpp.data_, obj.data_)
        assert_equal(my_ride_rpp.data_norm_, obj.data_norm_)
        assert_equal(my_ride_rpp.cyclist_weight, obj.cyclist_weight)
        assert_equal(my_ride_rpp.max_duration_profile,
                     obj.max_duration_profile)
        assert_equal(my_ride_rpp.date_profile_, obj.date_profile_)
        assert_equal(my_ride_rpp.filename_, obj.filename_)
    finally:
        shutil.rmtree(tmp_dir)
def test_ridepp_fit_w_weight():
    filename = load_toy()[0]
    ride_rpp = RidePowerProfile(max_duration_profile=1, cyclist_weight=60.)
    ride_rpp.fit(filename)
    data = np.array([
        0., 500., 475.5, 469.33333333, 464., 463., 462.33333333, 461.71428571,
        455.875, 450.55555556, 447.3, 444.81818182, 442.08333333, 439.53846154,
        435.71428571, 432.06666667, 428.75, 424.35294118, 420.44444444,
        413.78947368, 409.9, 407.23809524, 402.5, 399.91304348, 396.45833333,
        394.76, 392.19230769, 388.62962963, 384.75, 380., 373.8, 367.70967742,
        362.96875, 357.90909091, 354.02941176, 349.68571429, 345.83333333,
        342.18918919, 338.36842105, 335.02564103, 331.375, 328.95121951,
        325.64285714, 322.37209302, 318.09090909, 315.15555556, 312.23913043,
        309.59574468, 307.08333333, 304.55102041, 301.9, 300.70588235, 300.5,
        299.90566038, 300.03703704, 298.92727273, 298.10714286, 297.56140351,
        296.48275862, 296.30508475
    ])
    assert_allclose(ride_rpp.data_, data)
    assert_allclose(ride_rpp.data_norm_, data / 60.)
    assert_allclose(ride_rpp.cyclist_weight, 60.)
    assert_equal(ride_rpp.max_duration_profile, 1)
    assert_equal(ride_rpp.date_profile_, date(2014, 5, 7))
    assert_equal(ride_rpp.filename_, filename)
def test_save_load_ride_pp():
    filename = load_toy()[0]
    my_ride_rpp = RidePowerProfile(max_duration_profile=1)
    my_ride_rpp.fit(filename)
    val = my_ride_rpp.resampling_rpp(.5)
    assert_allclose(val, 376.9)
def test_save_load_ride_pp_wrong_norm():
    filename = load_toy()[0]
    my_ride_rpp = RidePowerProfile(max_duration_profile=1, cyclist_weight=None)
    my_ride_rpp.fit(filename)
    assert_raises(ValueError, my_ride_rpp.resampling_rpp, .5, normalized=True)
def test_save_load_ride_pp_weight():
    filename = load_toy()[0]
    my_ride_rpp = RidePowerProfile(max_duration_profile=1, cyclist_weight=60.)
    my_ride_rpp.fit(filename)
    val = my_ride_rpp.resampling_rpp(.5, normalized=True)
    assert_allclose(val, 6.281666666666666)