diff -r af793c7580f1 Lib/test/test_random.py --- a/Lib/test/test_random.py Wed Jun 17 10:09:24 2015 -0500 +++ b/Lib/test/test_random.py Thu Jun 25 23:51:37 2015 +0200 @@ -17,6 +17,11 @@ """Helper function to make a list of random numbers""" return [self.gen.random() for i in range(n)] + def fake_random(self, f=0.1): + # This function is used to test a meathod's ability to + # use an alternitive to reandom.random() + return f + def test_autoseed(self): self.gen.seed() state1 = self.gen.getstate() @@ -87,6 +92,14 @@ self.assertTrue(lst != shuffled_lst) shuffle(lst) self.assertTrue(lst != shuffled_lst) + # The tests below verify that random.shuffle() properly uses a + # function passed to it in place of random.random() + lst = list(range(1000)) + shuffled_lst = list(range(1000)) + shuffle(shuffled_lst, self.fake_random) + self.assertTrue(lst != shuffled_lst) + shuffle(lst, self.fake_random) + self.assertTrue(lst == shuffled_lst) def test_choice(self): choice = self.gen.choice