Example #1
0
class TestChoicesDerivedValueFunctions(unittest.TestCase):

    def setUp(self):
        self.c = ChoicesFile()

    def test_has_case(self):
        feat = {'name':'case', 'value':'abc'}
        self.assertTrue(self.c.has_case(feat, 'abc'))
        self.assertTrue(self.c.has_case(feat, ''))
        self.assertFalse(self.c.has_case(feat, 'def'))

    def test_has_noun_case(self):
        pass
    def test_has_adp_case(self):
        pass
    def test_has_optadp_case(self):
        pass
    def test_has_mixed_case(self):
        pass
    def test_case_head(self):
        pass
    def test_has_dirinv(self):
        pass
    def test_has_SCARGS(self):
        pass
    def test_cases(self):
        pass
    def test_patterns(self):
        pass

    def test_numbers(self):
        c = ChoicesFile()
        # no numbers section
        c.load_choices(minimal_choices_file)
        self.assertEqual(c.numbers(), [])
        # empty numbers section
        c.load_choices(simple_choices_file)
        self.assertEqual(c.numbers(), [])
        # simple number system
        c.load_choices(mini_english_choices_file)
        self.assertEqual(c.numbers(), [['sg','number'],['pl','number']])
        # delete one
        c.delete('number1')
        self.assertEqual(c.numbers(), [['pl','number']])
        # number hierarchy
        c.load_choices(modified_english_choices_file)
        self.assertEqual(c.numbers(), [['sg','number'],['pl','number'],
                                       ['du','sg;pl']])

    def test_persons(self):
        pass

    def test_pernums(self):
        pass

    def test_genders(self):
        pass

    def test_forms(self):
        pass

    def test_tenses(self):
        pass

    def test_aspects(self):
        pass

    def test_situations(self):
        pass

    def test_types(self):
        pass

    def test_features(self):
        choices = ChoicesFile("web/sample-choices/mini-english")
        actual = choices.features()

        expected = [['number', 'sg|sg;pl|pl', 'LOCAL.CONT.HOOK.INDEX.PNG.NUM', 'noun', 'y'],
                    ['person', '1st|1st;2nd|2nd;3rd|3rd', 'LOCAL.CONT.HOOK.INDEX.PNG.PER', 'noun', 'y'],
                    ['argument structure', 'intrans|intransitive;trans|transitive', '', 'verb', 'n'],
                    ['negation', 'plus|plus;minus|minus', '', 'verb', 'y'],
                    ['information-structure meaning', 'focus|focus;topic|topic;contrast|contrast;semantic-focus|non-contrastive-focus;contrast-focus|contrastive-focus;aboutness-topic|non-contrastive-topic;contrast-topic|contrastive-topic;focus-or-topic|focus-or-topic;contrast-or-focus|contrast-or-focus;contrast-or-topic|contrast-or-topic;non-topic|non-topic;non-focus|non-focus;bg|background', 'LOCAL.CONT.HOOK.ICONS-KEY', 'both', 'n']]

        self.assertEqual(actual, expected)
Example #2
0
class TestChoicesDerivedValueFunctions(unittest.TestCase):
    def setUp(self):
        self.c = ChoicesFile()

    def test_has_case(self):
        feat = {'name': 'case', 'value': 'abc'}
        self.assertTrue(self.c.has_case(feat, 'abc'))
        self.assertTrue(self.c.has_case(feat, ''))
        self.assertFalse(self.c.has_case(feat, 'def'))

    def test_has_noun_case(self):
        pass

    def test_has_adp_case(self):
        pass

    def test_has_optadp_case(self):
        pass

    def test_has_mixed_case(self):
        pass

    def test_case_head(self):
        pass

    def test_has_dirinv(self):
        pass

    def test_has_SCARGS(self):
        pass

    def test_cases(self):
        pass

    def test_patterns(self):
        pass

    def test_numbers(self):
        c = ChoicesFile()
        # no numbers section
        c.load_choices(minimal_choices_file)
        self.assertEqual(c.numbers(), [])
        # empty numbers section
        c.load_choices(simple_choices_file)
        self.assertEqual(c.numbers(), [])
        # simple number system
        c.load_choices(mini_english_choices_file)
        self.assertEqual(c.numbers(), [['sg', 'number'], ['pl', 'number']])
        # delete one
        c.delete('number1')
        self.assertEqual(c.numbers(), [['pl', 'number']])
        # number hierarchy
        c.load_choices(modified_english_choices_file)
        self.assertEqual(c.numbers(),
                         [['sg', 'number'], ['pl', 'number'], ['du', 'sg;pl']])

    def test_persons(self):
        pass

    def test_pernums(self):
        pass

    def test_genders(self):
        pass

    def test_forms(self):
        pass

    def test_tenses(self):
        pass

    def test_aspects(self):
        pass

    def test_situations(self):
        pass

    def test_types(self):
        pass

    def test_features(self):
        pass