class TestPassageListSubTopicListener(unittest.TestCase): def setUp(self): self._passage_list = PassageList("topic") self._num_times_observer_called = 0 self._passage_list.add_subtopic_observers += self._addSubTopic def testAddSubTopicShouldCallListener(self): self._passage_list.add_subtopic(PassageList("a")) self._checkObserverHasBeenCalled() def testAddEmptySubListShouldCallListener(self): self._passage_list.add_empty_subtopic("topic", "description") self._checkObserverHasBeenCalled() def _checkObserverHasBeenCalled(self): self.assertEqual(self._num_times_observer_called, 1) def _addSubTopic(self, subtopic): self._num_times_observer_called += 1