home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 December / Chip_2000-12_cd1.bin / zkuste / freesoft / bin / BeOpen-Python-2.0.exe / TEST_USERDICT.PY < prev   
Text File  |  2000-09-28  |  2KB  |  102 lines

  1. # Check every path through every method of UserDict
  2.  
  3. from UserDict import UserDict
  4.  
  5. d0 = {}
  6. d1 = {"one": 1}
  7. d2 = {"one": 1, "two": 2}
  8.  
  9. # Test constructors
  10.  
  11. u = UserDict()
  12. u0 = UserDict(d0)
  13. u1 = UserDict(d1)
  14. u2 = UserDict(d2)
  15.  
  16. uu = UserDict(u)
  17. uu0 = UserDict(u0)
  18. uu1 = UserDict(u1)
  19. uu2 = UserDict(u2)
  20.  
  21. # Test __repr__
  22.  
  23. assert str(u0) == str(d0)
  24. assert repr(u1) == repr(d1)
  25. assert `u2` == `d2`
  26.  
  27. # Test __cmp__ and __len__
  28.  
  29. all = [d0, d1, d2, u, u0, u1, u2, uu, uu0, uu1, uu2]
  30. for a in all:
  31.     for b in all:
  32.         assert cmp(a, b) == cmp(len(a), len(b))
  33.  
  34. # Test __getitem__
  35.  
  36. assert u2["one"] == 1
  37. try:
  38.     u1["two"]
  39. except KeyError:
  40.     pass
  41. else:
  42.     assert 0, "u1['two'] shouldn't exist"
  43.  
  44. # Test __setitem__
  45.  
  46. u3 = UserDict(u2)
  47. u3["two"] = 2
  48. u3["three"] = 3
  49.  
  50. # Test __delitem__
  51.  
  52. del u3["three"]
  53. try:
  54.     del u3["three"]
  55. except KeyError:
  56.     pass
  57. else:
  58.     assert 0, "u3['three'] shouldn't exist"
  59.  
  60. # Test clear
  61.  
  62. u3.clear()
  63. assert u3 == {}
  64.  
  65. # Test copy()
  66.  
  67. u2a = u2.copy()
  68. assert u2a == u2
  69.  
  70. class MyUserDict(UserDict):
  71.     def display(self): print self
  72.  
  73. m2 = MyUserDict(u2)
  74. m2a = m2.copy()
  75. assert m2a == m2
  76.  
  77. # Test keys, items, values
  78.  
  79. assert u2.keys() == d2.keys()
  80. assert u2.items() == d2.items()
  81. assert u2.values() == d2.values()
  82.  
  83. # Test has_key
  84.  
  85. for i in u2.keys():
  86.     assert u2.has_key(i) == 1
  87.     assert u1.has_key(i) == d1.has_key(i)
  88.     assert u0.has_key(i) == d0.has_key(i)
  89.  
  90. # Test update
  91.  
  92. t = UserDict()
  93. t.update(u2)
  94. assert t == u2
  95.  
  96. # Test get
  97.  
  98. for i in u2.keys():
  99.     assert u2.get(i) == u2[i]
  100.     assert u1.get(i) == d1.get(i)
  101.     assert u0.get(i) == d0.get(i)
  102.