def test_InstanceSortinfo_init(self): """ Instances have five features: 'pers', 'num', 'gend', 'ind', 'pt' as well as cvarsort """ instance = InstanceSortinfo('3', 'sg', 'f', '+', '+') self.assertEqual(instance.cvarsort, 'x') self.assertEqual(instance.pers, '3') self.assertEqual(instance.num, 'sg') self.assertEqual(instance.gend, 'f') self.assertEqual(instance.ind, '+') self.assertEqual(instance.pt, '+') self.assertEqual(instance['cvarsort'], 'x') self.assertEqual(instance['pers'], '3') self.assertEqual(instance['num'], 'sg') self.assertEqual(instance['gend'], 'f') self.assertEqual(instance['ind'], '+') self.assertEqual(instance['pt'], '+') instance.num = 'pl' self.assertEqual(instance['num'], 'pl') instance['pt'] = '-' self.assertEqual(instance.pt, '-') del instance.gend self.assertIsNone(instance['gend']) del instance['ind'] self.assertIsNone(instance.ind) with self.assertRaises((AttributeError, KeyError)): instance['cvarsort'] = 'e' with self.assertRaises((AttributeError, KeyError)): instance.cvarsort = 'e' with self.assertRaises(KeyError): instance['tense'] with self.assertRaises(AttributeError): instance.tense with self.assertRaises(TypeError): InstanceSortinfo('1','2','3','4','5','6')