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)
Exemple #7
0
    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
            })