Beispiel #1
0
 def test_plan_perfs_from_dic(self):
     csvlines = FittingUtilTestCase.csv_content.splitlines()
     csvdic = f_util.csv_value_dict_from_iter(csvlines)
     plan, perfs, _, _ = f_util.plan_perfs_from_dic(csvdic, 'tss', '60m_critical_power', True)
     self.assertTrue(len(plan) == len(perfs))
     plan, perfs, _, _ = f_util.plan_perfs_from_dic(csvdic, 'tss', '60m_critical_power', True, 0.3)
     self.assertTrue(len(plan) == len(perfs))
Beispiel #2
0
 def test_accumulate_loads_per_day(self):
     csvlines = FittingUtilTestCase.csv_content.splitlines()
     csvdic = f_util.csv_value_dict_from_iter(csvlines)
     dates = csvdic['date']
     loads = list(map(float, csvdic['skiba_bike_score']))
     acc_loads = f_util.accumulate_loads_per_day(dates, loads)
     self.assertTrue(len(acc_loads) == 7)
     self.assertTrue(acc_loads[1][1] == 200)
Beispiel #3
0
 def test_span_best_over_weeks(self):
     csvlines = FittingUtilTestCase.csv_content.splitlines()
     csvdic = f_util.csv_value_dict_from_iter(csvlines)
     dates, loads, perfs = f_util.span_best_over_weeks(csvdic,
                                                       'skiba_bike_score',
                                                       '60m_critical_power')
     self.assertTrue(perfs[0] == 170)
     self.assertTrue(perfs[0] == perfs[1])
     self.assertTrue(perfs[1] == perfs[2])
     self.assertTrue(perfs[3] == 180)
Beispiel #4
0
 def test_collapse_perfs_per_day(self):
     csvlines = FittingUtilTestCase.csv_content.splitlines()
     csvdic = f_util.csv_value_dict_from_iter(csvlines)
     dates, loads, perfs = f_util.span_best_over_weeks(csvdic,
                                                       'skiba_bike_score',
                                                       '60m_critical_power')
     col_perfs = f_util.collapse_perfs_per_day(dates, perfs)
     self.assertTrue(len(col_perfs) == 7)
     expected = [(datetime.date(2014, 2, 15), 170),
                 (datetime.date(2014, 2, 16), 170),
                 (datetime.date(2014, 2, 17), 180),
                 (datetime.date(2014, 3, 1), 190),
                 (datetime.date(2014, 3, 29), 200),
                 (datetime.date(2015, 3, 1), 150),
                 (datetime.date(2015, 3, 29), 90)]
     self.assertTrue(col_perfs == expected)
Beispiel #5
0
    def test_span_best_over_time_frame(self):
        def key_func(x):
            return x[0].year, x[0].month  # group by key (year, month)

        csvlines = FittingUtilTestCase.csv_content.splitlines()
        csvdic = f_util.csv_value_dict_from_iter(csvlines)
        dates = f_util.parse_date_field(csvdic['date'])
        loads = list(map(float, csvdic['skiba_bike_score']))
        perfs = list(map(float, csvdic['60m_critical_power']))
        trainings = zip(dates, loads, perfs)

        dates, loads, perfs = f_util.span_best_over_time_frame(trainings,
                                                               key_func,
                                                               min_group_size=5)
        self.assertTrue(dates == [])
        self.assertTrue(loads == [])
        self.assertTrue(perfs == [])
Beispiel #6
0
 def test_csv_value_dict_from_iter(self):
     csvlines = FittingUtilTestCase.csv_content.splitlines()
     csvdic = f_util.csv_value_dict_from_iter(csvlines)
     self.assertTrue(len(csvdic['date']) == 8)
     self.assertTrue(len(csvdic['60m_critical_power']) == 8)
     self.assertTrue(len(csvdic['skiba_bike_score']) == 8)