Esempio n. 1
0
    def OnEditSave(self, event):
        """ Save word details """
        # Create new details dictionary
        new_nodeDetails = {}
        new_nodeDetails['lang'] = self.langbox.GetValue()
        new_nodeDetails['def'] = self.defbox.GetValue()
        alt_list = [text_item.strip() for text_item in
                self.altbox.GetValue().split(',')]
        new_nodeDetails['text'] = alt_list 
        # Set the morpheme to be the first text entry
        new_nodeDetails['morpheme'] = alt_list[0]

        # Save the word details
        cf.editWordDetails(self.current_node, new_nodeDetails)
        # Refresh the tree
        self.DisplayTree(self.search_root, self.search_words)
Esempio n. 2
0
    def testEditWordDetails(self):
        """ Test editing a word details """
        chosen_word = self.getWord("horse")
        orig_wordDets = cf.loadWordDetails(chosen_word)
        new_wordDets = orig_wordDets.copy()
        new_wordDets["lang"] = "Elvish"
        new_wordDets["def"] = "A helpful friend"
        new_wordDets["text"] = ["horsey", "neigh"]
        new_wordDets["morpheme"] = "horsey"

        # Try purposefully giving incorrect details
        test_wordDets = {}
        self.assertRaises(cf.EtymExceptWord, cf.editWordDetails, chosen_word, test_wordDets)

        # Try refreshing the word
        cf.editWordDetails(chosen_word, orig_wordDets)
        test_wordDets = cf.loadWordDetails(chosen_word)
        self.assertEqual(orig_wordDets, test_wordDets)

        # Try new details
        cf.editWordDetails(chosen_word, new_wordDets)
        test_wordDets = cf.loadWordDetails(chosen_word)
        self.assertEqual(new_wordDets, test_wordDets)
        self.assertNotEqual(orig_wordDets, test_wordDets)