def test_Sortinfo_subclasses_dict(self): """ Dicts of sortinfo objects should map from features to values, including 'cvarsort' as a feature """ event = EventSortinfo('prop', 'past', 'indicative', '-', '-') event_dict = {'cvarsort':'e', 'sf':'prop', 'tense':'past', 'mood':'indicative', 'perf':'-', 'prog':'-'} self.assertEqual(event.as_dict(), event_dict) self.assertEqual(event, EventSortinfo.from_dict(event_dict)) instance = InstanceSortinfo('3', 'sg', 'f', '+', '+') instance_dict = {'cvarsort':'x', 'pers':'3', 'num':'sg', 'gend':'f', 'ind':'+', 'pt':'+'} self.assertEqual(instance.as_dict(), instance_dict) self.assertEqual(instance, InstanceSortinfo.from_dict(instance_dict))
def test_Sortinfo_subclasses_dict(self): """ Dicts of sortinfo objects should map from features to values, including 'cvarsort' as a feature """ event = EventSortinfo('prop', 'past', 'indicative', '-', '-') event_dict = {'cvarsort':'e', 'sf':'prop', 'tense':'past', 'mood':'indicative', 'perf':'-', 'prog':'-'} self.assertEqual(event.as_dict(), event_dict) self.assertEqual(event, EventSortinfo.from_dict(event_dict)) instance = InstanceSortinfo('3', 'sg', 'f', '+', '+') instance_dict = {'cvarsort':'x', 'pers':'3', 'num':'sg', 'gend':'f', 'ind':'+', 'pt':'+'} self.assertEqual(instance.as_dict(), instance_dict) self.assertEqual(instance, InstanceSortinfo.from_dict(instance_dict))
def test_Sortinfo_from_dict(self): """ Initialise EventSortinfo or InstanceSortinfo as appropriate """ sortinfo_dict = {'cvarsort': 'i'} self.assertEqual(Sortinfo.from_dict(sortinfo_dict), Sortinfo()) event_dict = {'cvarsort': 'e', 'tense': 'past'} self.assertEqual(Sortinfo.from_dict(event_dict), EventSortinfo.from_dict(event_dict)) instance_dict = {'cvarsort': 'x', 'num': 'pl'} self.assertEqual(Sortinfo.from_dict(instance_dict), InstanceSortinfo.from_dict(instance_dict)) wrong_sort_sortinfo_dict = {'cvarsort': 'u'} self.assertEqual(Sortinfo.from_dict(wrong_sort_sortinfo_dict), Sortinfo.from_dict(sortinfo_dict)) wrong_sort_event_dict = {'cvarsort': 'i', 'tense': 'past'} self.assertEqual(Sortinfo.from_dict(wrong_sort_event_dict), Sortinfo.from_dict(event_dict)) wrong_sort_instance_dict = {'cvarsort': 'u', 'num': 'pl'} self.assertEqual(Sortinfo.from_dict(wrong_sort_instance_dict), Sortinfo.from_dict(instance_dict))
def test_Sortinfo_from_dict(self): """ Initialise EventSortinfo or InstanceSortinfo as appropriate """ sortinfo_dict = {'cvarsort': 'i'} self.assertEqual(Sortinfo.from_dict(sortinfo_dict), Sortinfo()) event_dict = {'cvarsort': 'e', 'tense': 'past'} self.assertEqual(Sortinfo.from_dict(event_dict), EventSortinfo.from_dict(event_dict)) instance_dict = {'cvarsort': 'x', 'num': 'pl'} self.assertEqual(Sortinfo.from_dict(instance_dict), InstanceSortinfo.from_dict(instance_dict)) wrong_sort_sortinfo_dict = {'cvarsort': 'u'} self.assertEqual(Sortinfo.from_dict(wrong_sort_sortinfo_dict), Sortinfo.from_dict(sortinfo_dict)) wrong_sort_event_dict = {'cvarsort': 'i', 'tense': 'past'} self.assertEqual(Sortinfo.from_dict(wrong_sort_event_dict), Sortinfo.from_dict(event_dict)) wrong_sort_instance_dict = {'cvarsort': 'u', 'num': 'pl'} self.assertEqual(Sortinfo.from_dict(wrong_sort_instance_dict), Sortinfo.from_dict(instance_dict))