def _load_topic_children(topic): from passage_list import PassageList from passage_entry import PassageEntry child_query = "select %s from %s where parent = ? order by order_number" subtopics = [] fields = ", ".join('"%s"' % name for name in ["id",] + PassageList.__fields_to_store__) for row in connection.execute(child_query % (fields, "topic"), (topic.id,)): subtopic = PassageList("") _load_record(subtopic, row) subtopic.parent = topic _load_topic_children(subtopic) subtopics.append(subtopic) topic.subtopics = subtopics fields = ", ".join(["id",] + PassageEntry.__fields_to_store__) passages = [] for row in connection.execute(child_query % (fields, "passage"), (topic.id,)): passage = PassageEntry(None) passage.parent = topic _load_record(passage, row) passage.parent = topic passages.append(passage) topic.passages = passages
class TestPassageListPassageListener(unittest.TestCase): def setUp(self): self._passage_list = PassageList("topic") self._num_times_observer_called = 0 self._passage_list.add_passage_observers += self._addPassage def testAddPassageShouldCallObserver(self): self._passage_list.add_passage(PassageEntry(None)) self._checkObserverHasBeenCalled() def _checkObserverHasBeenCalled(self): self.assertEqual(self._num_times_observer_called, 1) def _addPassage(self, passage): self._num_times_observer_called += 1
def _setupPassageLists(test): """Sets up the passage lists for the given test.""" test._verse_list1 = VerseList([VK(("gen 2:3", "gen 2:5")), "gen 3:4", "gen 5:2"]) test._verse_list2 = VerseList(["ex 2:2", "ex 3:5", VK(("ex 3:7", "ex 3:9"))]) test._verse_list3 = VerseList([VK(("lev 2:3", "lev 2:5")), "lev 2:7"]) test._verse_list4 = VerseList(["num 3:1", VK(("num 3:4", "num 3:5"))]) test._list = PassageList.create_from_verse_list("abc", test._verse_list1) test._list2 = PassageList.create_from_verse_list("def", test._verse_list2) test._list3 = PassageList.create_from_verse_list("ghi", test._verse_list3) test._list4 = PassageList.create_from_verse_list("jkl", test._verse_list4) test._list2.add_subtopic(test._list4) test._list.add_subtopic(test._list2) test._list.add_subtopic(test._list3) test._manager = PassageListManager() test._manager.add_subtopic(test._list)
def __init__(self, parent_topic, creation_function): super(AddNewTopicAction, self).__init__() self.parent_topic = parent_topic if creation_function is None: creation_function = lambda: PassageList(name="New Topic", description="") self.topic = creation_function()
class TestAddEmptySubTopic(unittest.TestCase): def setUp(self): self._list = PassageList("topic") self._list.add_empty_subtopic("Name", "Description") self._added_subtopic = self._list.subtopics[0] def testShouldHaveOneSubTopic(self): self.assertEqual(len(self._list.subtopics), 1) def testAddedSubTopicShouldBeEmpty(self): self.assertEqual(len(self._added_subtopic.subtopics), 0) self.assertEqual(len(self._added_subtopic.passages), 0) def testAddedSubTopicShouldHaveCorrectDetails(self): self.assertEqual(self._added_subtopic.name, "Name") self.assertEqual(self._added_subtopic.description, "Description")
def _setupPassageLists(test): """Sets up the passage lists for the given test.""" test._verse_list1 = VerseList( [VK(("gen 2:3", "gen 2:5")), "gen 3:4", "gen 5:2"]) test._verse_list2 = VerseList( ["ex 2:2", "ex 3:5", VK(("ex 3:7", "ex 3:9"))]) test._verse_list3 = VerseList([VK(("lev 2:3", "lev 2:5")), "lev 2:7"]) test._verse_list4 = VerseList(["num 3:1", VK(("num 3:4", "num 3:5"))]) test._list = PassageList.create_from_verse_list("abc", test._verse_list1) test._list2 = PassageList.create_from_verse_list("def", test._verse_list2) test._list3 = PassageList.create_from_verse_list("ghi", test._verse_list3) test._list4 = PassageList.create_from_verse_list("jkl", test._verse_list4) test._list2.add_subtopic(test._list4) test._list.add_subtopic(test._list2) test._list.add_subtopic(test._list3) test._manager = PassageListManager() test._manager.add_subtopic(test._list)
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
def save_search_results(self, search_string, search_results): assert search_string self.topic_tree.SetFocus() name = _(u"Search: %s") % search_string description = _(u"Results from the search `%s'.") % search_string # Tags are not displayed by default for saved search results because # they are not really user created and it looks dubious having tags # "Search: My search" littering the screen. self._create_topic(self._manager, lambda: PassageList.create_from_verse_list(name, search_results, description, display_tag=False) )
class TestPassageListConstruction(unittest.TestCase): def setUp(self): self._list = PassageList("topic") def testShouldHaveValidName(self): self.assertEqual(self._list.name, "topic") def testShouldContainNoPassages(self): self.assertEqual(len(self._list.passages), 0) def testShouldContainNoSubTopics(self): self.assertEqual(len(self._list.subtopics), 0) def testShouldHaveEmptyDescription(self): self.assertEqual(self._list.description, "") def testListGlobalLookup(self): passage_list = lookup_passage_list(self._list.get_id()) self.assert_(passage_list is self._list)
def _test_create_topic(name="", description="", create_function=None): if create_function is None: create_function = lambda: PassageList(name, description) topic = create_function() _add_topic_observers(topic) return topic
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 setUp(self): self._list = PassageList.create_from_verse_list( "name", VerseList(["gen 2:3", "gen 2:5", "gen 2:7"]), "description")
def setUp(self): self._list = PassageList("topic")
def setUp(self): self._list = PassageList("topic") self._list.add_empty_subtopic("Name", "Description") self._added_subtopic = self._list.subtopics[0]
def setUp(self): self._list = PassageList.create_from_verse_list("name", VerseList(["gen 2:3", "gen 2:5", "gen 2:7"]), "description")
def setUp(self): self._passage_list = PassageList("topic") self._num_times_observer_called = 0 self._passage_list.add_passage_observers += self._addPassage