PageRenderTime 22ms CodeModel.GetById 1ms RepoModel.GetById 1ms app.codeStats 0ms

/examples/libtest/ListTest.py

http://pyjamas.googlecode.com/
Python | 110 lines | 87 code | 23 blank | 0 comment | 0 complexity | 6b996bb44d55bb4f85ca5d5b27deb475 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. from UnitTest import UnitTest
  2. from __pyjamas__ import String
  3. class ListTest(UnitTest):
  4. def __init__(self):
  5. UnitTest.__init__(self)
  6. def getName(self):
  7. return "List"
  8. def testSliceGet(self):
  9. value = [0, 1, 2, 3, 4]
  10. self.assertTrue(value[-1]==4)
  11. self.assertTrue(value[1]==1)
  12. self.assertTrue(value[4]==4)
  13. self.assertTrue(value[-3]==2)
  14. def testSliceRange(self):
  15. value = [0, 1, 2, 3, 4]
  16. self.assertTrue(value[1:3][0]==1)
  17. self.assertTrue(value[1:3][1]==2)
  18. self.assertTrue(len(value[1:2])==1)
  19. self.assertTrue(len(value[1:3])==2)
  20. self.assertTrue(value[:2][0]==0)
  21. self.assertTrue(value[:2][1]==1)
  22. self.assertTrue(len(value[:2])==2)
  23. self.assertTrue(len(value[:1])==1)
  24. self.assertTrue(value[:-1][0]==0)
  25. self.assertTrue(value[:-1][3]==3)
  26. self.assertTrue(len(value[:-1])==4)
  27. self.assertTrue(value[:][3]==3)
  28. self.assertTrue(len(value[:])==5)
  29. self.assertTrue(value[0:][3]==3)
  30. self.assertTrue(value[1:][0]==1)
  31. self.assertTrue(len(value[1:])==4)
  32. self.assertTrue(value[-1:][0]==4)
  33. self.assertTrue(len(value[-1:3])==0)
  34. def testDelete(self):
  35. value = [0, 1, 2, 3, 4]
  36. del value[4]
  37. self.assertTrue(len(value)==4)
  38. self.assertTrue(value[3]==3)
  39. del value[-1]
  40. self.assertTrue(len(value)==3)
  41. self.assertTrue(value[2]==2)
  42. def testPop(self):
  43. a = ['a']
  44. b = ['b']
  45. c = ['c']
  46. d = ['d']
  47. e = ['e']
  48. value = [a, b, c, d, e]
  49. x = value.pop(4)
  50. self.assertTrue(x==e)
  51. self.assertTrue(len(value)==4)
  52. x = value.pop(-1)
  53. self.assertTrue(x==d)
  54. self.assertTrue(len(value)==3)
  55. x = value.pop()
  56. self.assertTrue(x==c)
  57. self.assertTrue(len(value)==2)
  58. x = value.pop(0)
  59. self.assertTrue(x==a)
  60. self.assertTrue(len(value)==1)
  61. def testSort(self):
  62. l1 = ['c', 'd', 'a', 'b']
  63. l1.sort()
  64. self.assertTrue(l1[0] == 'a')
  65. self.assertTrue(l1[1] == 'b')
  66. self.assertTrue(l1[2] == 'c')
  67. self.assertTrue(l1[3] == 'd')
  68. l2 = ['C', 'd', 'A', 'b']
  69. def toLower(x):
  70. return x.lower()
  71. l2.sort(None, toLower)
  72. self.assertTrue(l2[0] == 'A')
  73. self.assertTrue(l2[1] == 'b')
  74. self.assertTrue(l2[2] == 'C')
  75. self.assertTrue(l2[3] == 'd')
  76. l3 = ['C', 'd', 'A', 'b']
  77. l3.sort(None, toLower, True)
  78. self.assertTrue(l3[0] == 'd')
  79. self.assertTrue(l3[1] == 'C')
  80. self.assertTrue(l3[2] == 'b')
  81. self.assertTrue(l3[3] == 'A')
  82. l4 = ['c', 'd', 'a', 'b']
  83. l4.sort(None, None, True)
  84. self.assertTrue(l4[0] == 'd')
  85. self.assertTrue(l4[1] == 'c')
  86. self.assertTrue(l4[2] == 'b')
  87. self.assertTrue(l4[3] == 'a')