PageRenderTime 684ms CodeModel.GetById 19ms RepoModel.GetById 21ms app.codeStats 0ms

/examples/libtest/SetTest.py

http://pyjamas.googlecode.com/
Python | 75 lines | 56 code | 19 blank | 0 comment | 3 complexity | 83d40731f3d129cfebbc8ca0f0a61757 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. from UnitTest import UnitTest
  2. from sets import Set
  3. class SetTest(UnitTest):
  4. def __init__(self):
  5. UnitTest.__init__(self)
  6. def getName(self):
  7. return "Set"
  8. def testInit(self):
  9. value = Set(['a', 'b', 'c'])
  10. self.assertTrue('b' in value)
  11. self.assertTrue('d' not in value)
  12. def testAdd(self):
  13. value = Set()
  14. value.add("a")
  15. value.add("b")
  16. value.add("a")
  17. self.assertTrue('a' in value)
  18. self.assertTrue('c' not in value)
  19. self.assertTrue(len(value)==2)
  20. def testRemove(self):
  21. value = Set(['a', 'b', 'c'])
  22. value.remove('a')
  23. self.assertTrue('a' not in value)
  24. self.assertTrue('b' in value)
  25. def testIter(self):
  26. items = ['a', 'b', 'c']
  27. value = Set(items)
  28. for i in value:
  29. items.remove(i)
  30. self.assertTrue(len(items)==0)
  31. def testAddObject(self):
  32. v1 = DummyClass('a')
  33. v2 = DummyClass('b')
  34. v3 = DummyClass('b')
  35. v4 = DummyClass('c')
  36. items = [v1, v2, v3]
  37. value = Set()
  38. value.add(v1)
  39. value.add(v2)
  40. value.add(v1)
  41. value.add(v3)
  42. self.assertTrue(v1 in value)
  43. self.assertTrue(v2 in value)
  44. self.assertTrue(v3 in value)
  45. self.assertTrue(v4 not in value)
  46. self.assertTrue(len(value)==3)
  47. i = 0
  48. for v in value:
  49. if v.getValue() != items[i].value:
  50. self.assertTrue(False)
  51. i += 1
  52. class DummyClass:
  53. def __init__(self, value):
  54. self.value = value
  55. def getValue(self):
  56. return self.value