Beispiel #1
0
 def test_select_and_sort_1(self):
     os = OverloadSelector()
     os.append(1, (types.Any, types.Boolean))
     os.append(2, (types.Boolean, types.Integer))
     os.append(3, (types.Boolean, types.Any))
     os.append(4, (types.Boolean, types.Boolean))
     compats = os._select_compatible((types.boolean, types.boolean))
     self.assertEqual(len(compats), 3)
     ordered, scoring = os._sort_signatures(compats)
     self.assertEqual(len(ordered), 3)
     self.assertEqual(len(scoring), 3)
     self.assertEqual(ordered[0], (types.Boolean, types.Boolean))
     self.assertEqual(scoring[types.Boolean, types.Boolean], 0)
     self.assertEqual(scoring[types.Boolean, types.Any], 1)
     self.assertEqual(scoring[types.Any, types.Boolean], 1)
 def test_select_and_sort_1(self):
     os = OverloadSelector()
     os.append(1, (types.Any, types.Boolean))
     os.append(2, (types.Boolean, types.Integer))
     os.append(3, (types.Boolean, types.Any))
     os.append(4, (types.Boolean, types.Boolean))
     compats = os._select_compatible((types.boolean, types.boolean))
     self.assertEqual(len(compats), 3)
     ordered, scoring = os._sort_signatures(compats)
     self.assertEqual(len(ordered), 3)
     self.assertEqual(len(scoring), 3)
     self.assertEqual(ordered[0], (types.Boolean, types.Boolean))
     self.assertEqual(scoring[types.Boolean, types.Boolean], 0)
     self.assertEqual(scoring[types.Boolean, types.Any], 1)
     self.assertEqual(scoring[types.Any, types.Boolean], 1)
Beispiel #3
0
 def test_select_and_sort_2(self):
     os = OverloadSelector()
     os.append(1, (types.Container,))
     os.append(2, (types.Sequence,))
     os.append(3, (types.MutableSequence,))
     os.append(4, (types.List,))
     compats = os._select_compatible((types.List,))
     self.assertEqual(len(compats), 4)
     ordered, scoring = os._sort_signatures(compats)
     self.assertEqual(len(ordered), 4)
     self.assertEqual(len(scoring), 4)
     self.assertEqual(ordered[0], (types.List,))
     self.assertEqual(scoring[(types.List,)], 0)
     self.assertEqual(scoring[(types.MutableSequence,)], 1)
     self.assertEqual(scoring[(types.Sequence,)], 2)
     self.assertEqual(scoring[(types.Container,)], 3)
 def test_select_and_sort_2(self):
     os = OverloadSelector()
     os.append(1, (types.Container,))
     os.append(2, (types.Sequence,))
     os.append(3, (types.MutableSequence,))
     os.append(4, (types.List,))
     compats = os._select_compatible((types.List,))
     self.assertEqual(len(compats), 4)
     ordered, scoring = os._sort_signatures(compats)
     self.assertEqual(len(ordered), 4)
     self.assertEqual(len(scoring), 4)
     self.assertEqual(ordered[0], (types.List,))
     self.assertEqual(scoring[(types.List,)], 0)
     self.assertEqual(scoring[(types.MutableSequence,)], 1)
     self.assertEqual(scoring[(types.Sequence,)], 2)
     self.assertEqual(scoring[(types.Container,)], 3)