In the previous section, we talked about the new requirement of having to check if a stock has an increasing trend.
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 True
.
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...