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)
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