Пример #1
0
 def test_fa(self):
     """Test the aggregation of a single daily events to a monthly event."""
     timeserie = TimeseriesStub()
     timeserie.add_value(datetime(2010, 12, 8), 20)
     monthly_events = [event for event in timeserie.monthly_events()]
     expected_monthly_events = [(datetime(2010, 12, 1), 20)]
     self.assertEqual(expected_monthly_events, monthly_events)
Пример #2
0
 def test_d(self):
     """Test the value after the first date & time is zero."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 11, 24)
     timeserie.add_value(today, 20.0)
     tomorrow = today + timedelta(1)
     self.assertAlmostEqual(0.0, timeserie.get_value(tomorrow))
Пример #3
0
 def test_d(self):
     """Test the value after the first date & time is zero."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 11, 24)
     timeserie.add_value(today, 20.0)
     tomorrow = today + timedelta(1)
     self.assertAlmostEqual(0.0, timeserie.get_value(tomorrow))
Пример #4
0
 def test_fa(self):
     """Test the aggregation of a single daily events to a monthly event."""
     timeserie = TimeseriesStub()
     timeserie.add_value(datetime(2010, 12, 8), 20)
     monthly_events = [event for event in timeserie.monthly_events()]
     expected_monthly_events = [(datetime(2010, 12, 1), 20)]
     self.assertEqual(expected_monthly_events, monthly_events)
Пример #5
0
 def test_fb(self):
     """Test aggregation of a multiple daily events to a monthly event."""
     timeserie = TimeseriesStub()
     timeserie.add_value(datetime(2010, 12, 8), 20)
     timeserie.add_value(datetime(2010, 12, 9), 30)
     timeserie.add_value(datetime(2010, 12, 10), 40)
     monthly_events = [event for event in timeserie.monthly_events()]
     expected_monthly_events = [(datetime(2010, 12, 1), 90)]
     self.assertEqual(expected_monthly_events, monthly_events)
Пример #6
0
 def test_e(self):
     """Test the value before the second date & time is zero."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 11, 24)
     timeserie.add_value(today, 20.0)
     tomorrow = today + timedelta(1)
     day_after_tomorrow = tomorrow + timedelta(1)
     timeserie.add_value(day_after_tomorrow, 30.0)
     self.assertAlmostEqual(0.0, timeserie.get_value(tomorrow))
Пример #7
0
 def test_fb(self):
     """Test aggregation of a multiple daily events to a monthly event."""
     timeserie = TimeseriesStub()
     timeserie.add_value(datetime(2010, 12, 8), 20)
     timeserie.add_value(datetime(2010, 12, 9), 30)
     timeserie.add_value(datetime(2010, 12, 10), 40)
     monthly_events = [event for event in timeserie.monthly_events()]
     expected_monthly_events = [(datetime(2010, 12, 1), 90)]
     self.assertEqual(expected_monthly_events, monthly_events)
Пример #8
0
 def test_e(self):
     """Test the value before the second date & time is zero."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 11, 24)
     timeserie.add_value(today, 20.0)
     tomorrow = today + timedelta(1)
     day_after_tomorrow = tomorrow + timedelta(1)
     timeserie.add_value(day_after_tomorrow, 30.0)
     self.assertAlmostEqual(0.0, timeserie.get_value(tomorrow))
Пример #9
0
    def test_a(self):
        """Test the aggregation of a single daily event to an average monthly
        event.

        """
        timeserie = TimeseriesStub()
        timeserie.add_value(datetime(2010, 12, 8), 20)
        avg_monthly_events = [e for e in average_monthly_events(timeserie)]
        expected_avg_monthly_events = [(datetime(2010, 12, 1), 20.0)]
        self.assertEqual(expected_avg_monthly_events, avg_monthly_events)
Пример #10
0
    def test_c(self):
        """Test the case that the time series contains an empty time series"""
        today = datetime(2010, 12, 2)
        precipitation = TimeseriesStub()
        precipitation.add_value(today, 5)
        evaporation = TimeseriesStub()
        events = [e for e in enumerate_events(precipitation, evaporation)]

        expected_events = [((today, 5), (today, 0))]
        self.assertEqual(expected_events[0], events[0])
Пример #11
0
    def test_a(self):
        """Test the aggregation of a single daily event to an average monthly
        event.

        """
        timeserie = TimeseriesStub()
        timeserie.add_value(datetime(2010, 12, 8), 20)
        avg_monthly_events = [e for e in average_monthly_events(timeserie)]
        expected_avg_monthly_events = [(datetime(2010, 12, 1), 20.0)]
        self.assertEqual(expected_avg_monthly_events, avg_monthly_events)
Пример #12
0
    def test_c(self):
        """Test the case that the time series contains an empty time series"""
        today = datetime(2010, 12, 2)
        precipitation = TimeseriesStub()
        precipitation.add_value(today, 5)
        evaporation = TimeseriesStub()
        events = [e for e in enumerate_events(precipitation, evaporation)]

        expected_events = [((today, 5), (today, 0))]
        self.assertEqual(expected_events[0], events[0])
Пример #13
0
 def test_h(self):
     """Test multiply_timeseries on time series."""
     today = datetime(2010, 12, 5)
     tomorrow = datetime(2010, 12, 6)
     timeserie = TimeseriesStub()
     timeserie.add_value(today, 10)
     timeserie.add_value(tomorrow, 20)
     expected_timeserie = [(today, 40), (tomorrow, 80)]
     multiplied_timeseries = \
          list(multiply_timeseries(timeserie, 4).events())
     self.assertEqual(expected_timeserie, multiplied_timeseries)
Пример #14
0
 def test_h(self):
     """Test multiply_timeseries on time series."""
     today = datetime(2010, 12, 5)
     tomorrow = datetime(2010, 12, 6)
     timeserie = TimeseriesStub()
     timeserie.add_value(today, 10)
     timeserie.add_value(tomorrow, 20)
     expected_timeserie = [(today, 40), (tomorrow, 80)]
     multiplied_timeseries = \
          list(multiply_timeseries(timeserie, 4).events())
     self.assertEqual(expected_timeserie, multiplied_timeseries)
Пример #15
0
 def test_f(self):
     """Test missing dates are automatically added as zeros."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 12, 3)
     tomorrow = datetime(2010, 12, 4)
     day_after_tomorrow = datetime(2010, 12, 5)
     timeserie.add_value(today, 20)
     timeserie.add_value(day_after_tomorrow, 30)
     events = [event for event in timeserie.events()]
     expected_events = [(today, 20), (tomorrow, 0),
                        (day_after_tomorrow, 30)]
     self.assertEqual(expected_events, events)
Пример #16
0
 def test_f(self):
     """Test missing dates are automatically added as zeros."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 12, 3)
     tomorrow = datetime(2010, 12, 4)
     day_after_tomorrow = datetime(2010, 12, 5)
     timeserie.add_value(today, 20)
     timeserie.add_value(day_after_tomorrow, 30)
     events = [event for event in timeserie.events()]
     expected_events = [(today, 20),
                        (tomorrow, 0),
                        (day_after_tomorrow, 30)]
     self.assertEqual(expected_events, events)
Пример #17
0
    def test_b(self):
        """Test the aggregation of multiple daily events to an average monthly
        event.

        The daily events lie within a single month.

        """
        timeserie = TimeseriesStub()
        timeserie.add_value(datetime(2010, 12, 8), 20)
        timeserie.add_value(datetime(2010, 12, 9), 30)
        timeserie.add_value(datetime(2010, 12, 10), 40)
        avg_monthly_events = [e for e in average_monthly_events(timeserie)]
        expected_avg_monthly_events = [(datetime(2010, 12, 1), 30.0)]
        self.assertEqual(expected_avg_monthly_events, avg_monthly_events)
Пример #18
0
    def test_b(self):
        """Test the aggregation of multiple daily events to an average monthly
        event.

        The daily events lie within a single month.

        """
        timeserie = TimeseriesStub()
        timeserie.add_value(datetime(2010, 12, 8), 20)
        timeserie.add_value(datetime(2010, 12, 9), 30)
        timeserie.add_value(datetime(2010, 12, 10), 40)
        avg_monthly_events = [e for e in average_monthly_events(timeserie)]
        expected_avg_monthly_events = [(datetime(2010, 12, 1), 30.0)]
        self.assertEqual(expected_avg_monthly_events, avg_monthly_events)
Пример #19
0
 def test_i(self):
     """Test split_timeseries on time series."""
     timeserie = TimeseriesStub()
     timeserie.add_value(datetime(2010, 12, 7), 10)
     timeserie.add_value(datetime(2010, 12, 8), 20)
     timeserie.add_value(datetime(2010, 12, 9), -5)
     expected_negative_timeserie_events = [(datetime(2010, 12, 7), 0),
                                           (datetime(2010, 12, 8), 0),
                                           (datetime(2010, 12, 9), -5)]
     expected_positive_timeserie_events = [(datetime(2010, 12, 7), 10),
                                           (datetime(2010, 12, 8), 20),
                                           (datetime(2010, 12, 9), 0)]
     splitted_timeseries = split_timeseries(timeserie)
     self.assertEqual(expected_negative_timeserie_events, \
                      list(splitted_timeseries[0].events()))
     self.assertEqual(expected_positive_timeserie_events, \
                      list(splitted_timeseries[1].events()))
Пример #20
0
 def test_i(self):
     """Test split_timeseries on time series."""
     timeserie = TimeseriesStub()
     timeserie.add_value(datetime(2010, 12, 7), 10)
     timeserie.add_value(datetime(2010, 12, 8), 20)
     timeserie.add_value(datetime(2010, 12, 9), -5)
     expected_negative_timeserie_events = [(datetime(2010, 12, 7), 0),
                                           (datetime(2010, 12, 8), 0),
                                           (datetime(2010, 12, 9), -5)]
     expected_positive_timeserie_events = [(datetime(2010, 12, 7), 10),
                                           (datetime(2010, 12, 8), 20),
                                           (datetime(2010, 12, 9), 0)]
     splitted_timeseries = split_timeseries(timeserie)
     self.assertEqual(expected_negative_timeserie_events, \
                      list(splitted_timeseries[0].events()))
     self.assertEqual(expected_positive_timeserie_events, \
                      list(splitted_timeseries[1].events()))
Пример #21
0
 def test_g(self):
     """Test add_timeseries on time series with same start and end date."""
     today = datetime(2010, 12, 5)
     tomorrow = datetime(2010, 12, 6)
     timeserie_a = TimeseriesStub()
     timeserie_a.add_value(today, 10)
     timeserie_a.add_value(tomorrow, 20)
     timeserie_b = TimeseriesStub()
     timeserie_b.add_value(today, 30)
     timeserie_b.add_value(tomorrow, 40)
     expected_timeserie = [(today, 40), (tomorrow, 60)]
     summed_timeseries = \
          list(add_timeseries(timeserie_a, timeserie_b).events())
     self.assertEqual(expected_timeserie, summed_timeseries)
Пример #22
0
 def test_g(self):
     """Test add_timeseries on time series with same start and end date."""
     today = datetime(2010, 12, 5)
     tomorrow = datetime(2010, 12, 6)
     timeserie_a = TimeseriesStub()
     timeserie_a.add_value(today, 10)
     timeserie_a.add_value(tomorrow, 20)
     timeserie_b = TimeseriesStub()
     timeserie_b.add_value(today, 30)
     timeserie_b.add_value(tomorrow, 40)
     expected_timeserie = [(today, 40), (tomorrow, 60)]
     summed_timeseries = \
          list(add_timeseries(timeserie_a, timeserie_b).events())
     self.assertEqual(expected_timeserie, summed_timeseries)
Пример #23
0
    def test_b(self):
        """Test the case that the time series contain different dates"""
        today = datetime(2010, 12, 2)
        tomorrow = datetime(2010, 12, 3)
        precipitation = TimeseriesStub()
        precipitation.add_value(today, 5)
        evaporation = TimeseriesStub()
        evaporation.add_value(today, 10)
        evaporation.add_value(tomorrow, 30)
        events = [e for e in enumerate_events(precipitation, evaporation)]

        expected_events = [((today, 5), (today, 10)),
                           ((tomorrow, 0), (tomorrow, 30))]
        self.assertEqual(expected_events[0], events[0])
        self.assertEqual(expected_events[1], events[1])
Пример #24
0
    def test_b(self):
        """Test the case that the time series contain different dates"""
        today = datetime(2010, 12, 2)
        tomorrow = datetime(2010, 12, 3)
        precipitation = TimeseriesStub()
        precipitation.add_value(today, 5)
        evaporation = TimeseriesStub()
        evaporation.add_value(today, 10)
        evaporation.add_value(tomorrow, 30)
        events = [e for e in enumerate_events(precipitation, evaporation)]

        expected_events = [((today, 5), (today, 10)),
                           ((tomorrow, 0), (tomorrow, 30))]
        self.assertEqual(expected_events[0], events[0])
        self.assertEqual(expected_events[1], events[1])
Пример #25
0
 def test_c(self):
     """Test the value on the first date & time is the first value."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 11, 24)
     timeserie.add_value(today, 20.0)
     self.assertAlmostEqual(20.0, timeserie.get_value(today))
Пример #26
0
 def test_c(self):
     """Test the value on the first date & time is the first value."""
     timeserie = TimeseriesStub()
     today = datetime(2010, 11, 24)
     timeserie.add_value(today, 20.0)
     self.assertAlmostEqual(20.0, timeserie.get_value(today))
Пример #27
0
    def test_a(self):
        today = datetime(2010, 12, 2)
        tomorrow = datetime(2010, 12, 3)
        precipitation = TimeseriesStub()
        precipitation.add_value(today, 5)
        precipitation.add_value(tomorrow, 10)
        evaporation = TimeseriesStub()
        evaporation.add_value(today, 20)
        evaporation.add_value(tomorrow, 30)
        seepage = TimeseriesStub()
        seepage.add_value(today, 10)
        seepage.add_value(tomorrow, 20)
        events = [e for e in enumerate_events(precipitation,
                                              evaporation,
                                              seepage)]

        expected_events = [((today, 5), (today, 20), (today, 10)),
                           ((tomorrow, 10), (tomorrow, 30), (tomorrow, 20))]
        self.assertEqual(expected_events, events)
Пример #28
0
    def test_a(self):
        today = datetime(2010, 12, 2)
        tomorrow = datetime(2010, 12, 3)
        precipitation = TimeseriesStub()
        precipitation.add_value(today, 5)
        precipitation.add_value(tomorrow, 10)
        evaporation = TimeseriesStub()
        evaporation.add_value(today, 20)
        evaporation.add_value(tomorrow, 30)
        seepage = TimeseriesStub()
        seepage.add_value(today, 10)
        seepage.add_value(tomorrow, 20)
        events = [
            e for e in enumerate_events(precipitation, evaporation, seepage)
        ]

        expected_events = [((today, 5), (today, 20), (today, 10)),
                           ((tomorrow, 10), (tomorrow, 30), (tomorrow, 20))]
        self.assertEqual(expected_events, events)