Guest User

Untitled

a guest
Jul 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. import unittest
  2. import lazy_set
  3.  
  4. class LazySetTest(unittest.TestCase):
  5. def setUp(self):
  6. self.lazy_set = lazy_set.lazy_set(xrange(1, 4))
  7. self.starting_value = range(1, 4)
  8.  
  9. def testCreation(self):
  10. self.assertEqual(
  11. sorted(self.lazy_set),
  12. self.starting_value
  13. )
  14.  
  15. def testUpdate(self):
  16. self.lazy_set.update(2* x for x in range(4, 10))
  17. self.assertEqual(
  18. sorted(self.lazy_set),
  19. [1, 2, 3, 8, 10, 12, 14, 16, 18]
  20. )
  21.  
  22. def testAdd(self):
  23. self.lazy_set.add(5)
  24. self.assertEqual(
  25. sorted(self.lazy_set),
  26. [1, 2, 3, 5]
  27. )
  28.  
  29. def testUniqueness(self):
  30. self.lazy_set.update(xrange(5))
  31. self.lazy_set.update(xrange(3, 8))
  32. self.assertEqual(
  33. sorted(self.lazy_set),
  34. range(8)
  35. )
  36.  
  37. def testSelfUpdateWIter(self):
  38. self.lazy_set.update(iter(self.lazy_set))
  39. self.assertEqual(
  40. sorted(self.lazy_set),
  41. self.starting_value
  42. )
  43.  
  44. def testSelfUpdateWOIter(self):
  45. self.lazy_set.update(self.lazy_set)
  46. self.assertEqual(
  47. sorted(self.lazy_set),
  48. self.starting_value
  49. )
  50.  
  51. def testSelfUpdateNotLats(self):
  52. self.lazy_set.update(iter(self.lazy_set))
  53. self.lazy_set.update(xrange(5, 8))
  54. self.assertEqual(
  55. sorted(self.lazy_set),
  56. range(1, 4) + range(5, 8)
  57. )
  58.  
  59. if __name__ == '__main__':
  60. unittest.main()
Add Comment
Please, Sign In to add comment