def test_get_text(self):
        a = AskBool('testing', 'Valid', 'Invalid', 'V', 'I', True)

        self.assertEqual('', a.get_text())

        a.set_choice('v')
        self.assertEqual(a.get_text(), "Valid")

        a.set_choice('i')
        self.assertEqual(a.get_text(), "Invalid")
    def test_get_resp(self):
        a = AskBool('testing', 'Valid', 'Invalid', 'V', 'I', True)

        with self.assertRaises(Exception):
            self.get_resp()

        a.set_choice('V')
        self.assertTrue(a.get_resp())

        a.set_choice('I')
        self.assertFalse(a.get_resp())
    def test_set_choice(self):
        a = AskBool('testing', 'Valid', 'Invalid', 'V', 'I', True)
        
        keys_fail = ['y', 'yes', 'n', 'non']
        keys_true = ['V', 'V', 'valid', 'Valid']
        keys_false = ['I', 'i', 'invalid', 'InValid']

        for key in keys_fail:
            with self.assertRaises(ValueError):
                a.set_choice(key)
            self.assertIsNone(a.choosen)


        for key in keys_true:
            a.set_choice(key)
            self.assertTrue(a.choosen)

        for key in keys_false:
            a.set_choice(key)
            self.assertFalse(a.choosen)