Most tests need some kind of data or resource to operate on:
def test_highest_rated():
series = [
("The Office", 2005, 8.8),
("Scrubs", 2001, 8.4),
("IT Crowd", 2006, 8.5),
("Parks and Recreation", 2009, 8.6),
("Seinfeld", 1989, 8.9),
]
assert highest_rated(series) == "Seinfeld"
Here, we have a list of (series name, year, rating) tuples that we use to test the highest_rated function. Inlining data into the test code as we do here works well for isolated tests, but often you have a dataset that can be used by multiple tests. One solution would be to copy over the dataset to each test:
def test_highest_rated():
series = [
("The Office", 2005, 8.8),
...,
]
assert highest_rated(series) == "Seinfeld"
def test_oldest(...