Let us start by writing a test first:
class StockTrendTest(unittest.TestCase): def setUp(self): self.goog = Stock("GOOG") def test_increasing_trend_is_true_if_price_increase_for_3_updates(self): timestamps = [datetime(2014, 2, 11), datetime(2014, 2, 12), datetime(2014, 2, 13)] prices = [8, 10, 12] for timestamp, price in zip(timestamps, prices): self.goog.update(timestamp, price) self.assertTrue(self.goog.is_increasing_trend())
The test takes three timestamps and prices and performs an update for each one. Since all three prices are increasing, the
is_increasing_trend method should return
To make this test pass, we need to first add support for storing price history.
In the initializer, let us replace the
price attribute with a
price_history list. This list will store the history of price updates...