def test_ConfigLoader_set_up_frame_PctSpinBox_no_error_with_int(self): # Default: 'error_probability' = 0.02 ed = ErrorDetails() save_config({'error_probability': 10}) loader = ConfigLoader() loader.set_up_frame(ed) self.assertEqual(ed.get_values()['error_probability'], 0.10)
def test_WARNING_ConfigLoader_set_up_frame_int_and_pct_edge_case_with_bool_WARNING( self): # 'subject_pool' minimum = 2 # 'error_probability' minimum = 0.0 pt = ParagraphType() ed = ErrorDetails() save_config({'subject_pool': True, 'error_probability': True}) loader = ConfigLoader() loader.set_up_frame(pt) loader.set_up_frame(ed) self.assertEqual(pt.get_values()['subject_pool'], 2) self.assertEqual(ed.get_values()['error_probability'], 0.0)
def test_ConfigLoader_set_up_frame_bool_no_error_with_int(self): # Default: 'verb_errors' = True ed = ErrorDetails() save_config({'verb_errors': 0}) loader = ConfigLoader() loader.set_up_frame(ed) self.assertEqual(ed.get_values()['verb_errors'], False) save_config({'verb_errors': 2}) loader = ConfigLoader() loader.set_up_frame(ed) self.assertEqual(ed.get_values()['verb_errors'], True)
def test_ConfigLoader_set_up_frame_ErrorDetails(self): ed = ErrorDetails() loader = ConfigLoader() loader.set_up_frame(ed) answer = { 'error_probability': 0.2, 'noun_errors': True, 'pronoun_errors': False, 'verb_errors': True, 'is_do_errors': False, 'preposition_transpose_errors': False, 'punctuation_errors': True } self.assertEqual(ed.get_values(), answer)
def test_ConfigLoader_set_up_frame_raises_ConfigFileError_bool(self): # Default: 'verb_errors' = True ed = ErrorDetails() save_config({'verb_errors': 'hello'}) loader = ConfigLoader() self.assertRaises(ConfigFileError, loader.set_up_frame, ed) save_config({'verb_errors': 10.0}) loader = ConfigLoader() self.assertRaises(ConfigFileError, loader.set_up_frame, ed)
def test_ConfigLoader_set_up_frame_raises_ConfigFileError_float(self): # Default: 'error_probability' = 0.02 ed = ErrorDetails() save_config({'error_probability': 'hi'}) loader = ConfigLoader() self.assertRaises(ConfigFileError, loader.set_up_frame, ed) save_config({'error_probability': None}) loader = ConfigLoader() self.assertRaises(ConfigFileError, loader.set_up_frame, ed)
def _pack_set_variable_frames(self): error_details = ErrorDetails(master=self) error_details.set_bg('light cyan') paragraph_type = ParagraphType(master=self) paragraph_type.set_bg('honeydew2') grammar_details = GrammarDetails(master=self) grammar_details.set_bg('snow2') file_management = FileManagement(master=self) file_management.set_bg('light blue') action_frame = Actions(master=self) actions = [(action_frame.save_settings, self.set_config), (action_frame.export_settings, self.export_config_file), (action_frame.reload_config, self.load_config), (action_frame.load_config_file, self.load_config_from_file), (action_frame.default_word_files, self.default_word_files), (action_frame.factory_reset, self.revert_to_original), (action_frame.make_pdfs, self.create_texts), (action_frame.read_me, self.read_me)] for btn, command in actions: btn.config(command=command) expand_out = {'sticky': tk.N + tk.S + tk.E + tk.W} action_frame.grid(row=0, column=0, columnspan=2) error_details.grid(row=1, column=0, rowspan=2, **expand_out) paragraph_type.grid(row=1, column=1, **expand_out) grammar_details.grid(row=2, column=1, **expand_out) file_management.grid(row=3, column=0, columnspan=2, **expand_out) return error_details, file_management, grammar_details, paragraph_type, action_frame
def setUp(self): self.frame = ErrorDetails()
class TestErrorDetails(unittest.TestCase): def setUp(self): self.frame = ErrorDetails() def test_init(self): answer = self.frame.get_values() self.assertEqual( answer, { 'error_probability': 0.0, 'noun_errors': False, 'pronoun_errors': False, 'verb_errors': False, 'is_do_errors': False, 'preposition_transpose_errors': False, 'punctuation_errors': False }) self.assertIsInstance(self.frame.error_probability, PctSpinBox) def test_select_deselect_all(self): check_all = None for child in self.frame.winfo_children(): if isinstance(child, tk.Checkbutton) and child.cget( 'text') == 'select/de-select all': check_all = child break check_all.invoke() self.assertEqual(self.frame.select_all.get(), 1) self.assertEqual( self.frame.get_values(), { 'error_probability': 0.0, 'noun_errors': True, 'pronoun_errors': True, 'verb_errors': True, 'is_do_errors': True, 'preposition_transpose_errors': True, 'punctuation_errors': True }) check_all.invoke() self.assertEqual(self.frame.select_all.get(), 0) self.assertEqual( self.frame.get_values(), { 'error_probability': 0.0, 'noun_errors': False, 'pronoun_errors': False, 'verb_errors': False, 'is_do_errors': False, 'preposition_transpose_errors': False, 'punctuation_errors': False }) def test_set_get_values(self): self.frame.set_variable('error_probability', 0.3) self.frame.set_variable('noun_errors', True) self.frame.set_variable('pronoun_errors', True) self.frame.set_variable('verb_errors', False) self.frame.set_variable('is_do_errors', True) self.frame.set_variable('preposition_transpose_errors', False) self.frame.set_variable('punctuation_errors', True) self.assertEqual( self.frame.get_values(), { 'error_probability': 0.3, 'noun_errors': True, 'pronoun_errors': True, 'verb_errors': False, 'is_do_errors': True, 'preposition_transpose_errors': False, 'punctuation_errors': True })