""" This file demonstrates common uses for the Python unittest module https://docs.python.org/2/library/unittest.html """ import random import unittest class TestSequenceFunctions(unittest.TestCase): """ This is one of potentially many TestCases """ def setUp(self): self.seq = list(range(10)) def test_shuffle(self): """ make sure the shuffled sequence does not lose any elements """ random.shuffle(self.seq) self.seq.sort() self.assertEqual(self.seq, list(range(10))) # should raise an exception for an immutable sequence self.assertRaises(TypeError, random.shuffle, (1, 2, 3)) def test_choice(self): """ test a choice """ element = random.choice(self.seq) self.assertTrue(element in self.seq) def test_sample(self): """ test that an exception is raised """ with self.assertRaises(ValueError): random.sample(self.seq, 20) for element in random.sample(self.seq, 5): self.assertTrue(element in self.seq) if __name__ == '__main__': unittest.main()