Arrange-Act-Assert
Let us start with the first requirement. Here is the test:
def test_stock_update(self):
"""An update should set the price on the stock object
We will be using the `datetime` module for the timestamp
"""
goog = Stock("GOOG")
goog.update(datetime(2014, 2, 12), price=10)
self.assertEqual(10, goog.price)Here we call the update method (which doesn't exist yet) with the timestamp and price and then check that the price has been set correctly. We use the assertEqual method provided in the unittest.TestCase class to assert the value.
Since we are using the datetime module to set the timestamp, we will have to add the line from datetime import datetime to the top of the file before it will run.
This test follows the pattern of Arrange-Act-Assert.
Arrange: Set up the context for the test. In this case, we create a
Stockobject. In other tests, it may involve creating multiple objects or hooking a few things together that will be required...