def test_shuffling(self, mock_shuffle, mock_randint): mock_randint.return_value = 2 mock_shuffle.side_effect = swap_start_and_end self.assertEquals([1, 0, 3, 2], _random_range(4)) self.assertEquals([1, 0, 3, 2, 4], _random_range(5))
def test_span(self): # any span <= 1 will lead to no shuffling self.assertEquals(range(5), _random_range(5, span=1)) self.assertEquals(range(5), _random_range(5, span=0)) self.assertEquals(range(5), _random_range(5, span=-1)) self.assertEquals(3, len(_random_range(3, span=1000)))
def test_some_shuffling_happens(self): self.assertNotEquals(range(100), _random_range(100))
def test_boundries(self): self.assertEquals([], _random_range(-1)) self.assertEquals([], _random_range(0)) self.assertEquals([0], _random_range(1)) self.assertEquals(5, len(_random_range(5)))