Ejemplo n.º 1
0
 def test_invalid_r(self):
     iterable = 'abcde'
     r = 4
     n = factorial(len(iterable)) // factorial(len(iterable) - r)
     for r in [-1, n + 1]:
         with self.assertRaises(ValueError):
             mi.nth_combination(iterable, r, 0)
Ejemplo n.º 2
0
 def test_invalid_index(self):
     iterable = 'abcde'
     r = 4
     n = factorial(len(iterable)) // factorial(len(iterable) - r)
     for index in [-1 - n, n + 1]:
         with self.assertRaises(IndexError):
             mi.nth_combination(iterable, r, index)
Ejemplo n.º 3
0
 def test_invalid_index(self):
     with self.assertRaises(IndexError):
         mi.nth_combination('abcdefg', 3, -36)
Ejemplo n.º 4
0
 def test_invalid_r(self):
     for r in (-1, 3):
         with self.assertRaises(ValueError):
             mi.nth_combination([], r, 0)
Ejemplo n.º 5
0
 def test_long(self):
     actual = mi.nth_combination(range(180), 4, 2000000)
     expected = (2, 12, 35, 126)
     self.assertEqual(actual, expected)
Ejemplo n.º 6
0
 def test_basic(self):
     iterable = 'abcdefg'
     r = 4
     for index, expected in enumerate(combinations(iterable, r)):
         actual = mi.nth_combination(iterable, r, index)
         self.assertEqual(actual, expected)
Ejemplo n.º 7
0
 def test_long(self):
     actual = mi.nth_combination(range(180), 4, 2000000)
     expected = (2, 12, 35, 126)
     self.assertEqual(actual, expected)
Ejemplo n.º 8
0
 def test_basic(self):
     iterable = 'abcdefg'
     r = 4
     for index, expected in enumerate(combinations(iterable, r)):
         actual = mi.nth_combination(iterable, r, index)
         self.assertEqual(actual, expected)
Ejemplo n.º 9
0
 def test_invalid_index(self):
     with self.assertRaises(IndexError):
         mi.nth_combination('abcdefg', 3, -36)
Ejemplo n.º 10
0
 def test_invalid_r(self):
     for r in (-1, 3):
         with self.assertRaises(ValueError):
             mi.nth_combination([], r, 0)