def setUp(self): self.filename = 'myfile' self.buggyfile = BuggyFile(self.filename)
class TestBuggyFile(unittest.TestCase): def setUp(self): self.filename = 'myfile' self.buggyfile = BuggyFile(self.filename) def test_buggyfile_stores_filename(self): self.assertEquals(self.filename, self.buggyfile.filename) def test_buggyfile_stores_bugs(self): bug = MockBug() self.buggyfile.add_bug(bug) self.assertIs(bug, self.buggyfile.get_bugs()[0]) def test_buggyfile_stores_multiple_bugs(self): bug1 = MockBug('bugid1') bug2 = MockBug('bugid2') self.buggyfile.add_bug(bug1) self.buggyfile.add_bug(bug2) self.assertEquals(2, len(self.buggyfile.get_bugs())) def test_buggyfile_refuses_to_store_duplicate_bug(self): bug1 = MockBug('bugid1') bug2 = MockBug('bugid1') self.buggyfile.add_bug(bug1) self.buggyfile.add_bug(bug2) self.assertEquals(1, len(self.buggyfile.get_bugs())) def test_buggyfile_returns_score_of_zero_when_zero_bugs(self): self.assertEquals(0, self.buggyfile.get_score(None)) def test_buggyfile_returns_score_of_sum_of_bugs_scores(self): self.buggyfile.add_bug(MockBug('bugid1', 1)) self.buggyfile.add_bug(MockBug('bugid2', 2)) self.buggyfile.add_bug(MockBug('bugid3', 3)) self.assertEquals(6, self.buggyfile.get_score(None)) def test_buggyfile_memoizes_score(self): bug = MockBug() self.buggyfile.add_bug(bug) self.buggyfile.get_score(None) self.buggyfile.get_score(None) self.buggyfile.get_score(None) self.assertEquals(1, bug.num_times_score_checked) def test_buggyfile_passes_startdate_to_bug_when_checking_score(self): dt = datetime(2011, 12, 23, 7, 32, 0) bug = MockBug() self.buggyfile.add_bug(bug) self.buggyfile.get_score(dt) self.assertEquals(dt, bug.startdate_checked)