_builtin_ty.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. ##############################################
  2. ##String
  3. ##############################################
  4. a = ''
  5. b = 'test'
  6. c ='test'
  7. assert len(a) == 0
  8. assert len(b) == 4
  9. assert b == c
  10. # upper and lower not work for utf-8
  11. # assert ''.lower() == '' and ''.upper() == ''
  12. # assert 'already+lower '.lower() == 'already+lower '
  13. # assert 'ALREADY+UPPER '.upper() == 'ALREADY+UPPER '
  14. # assert 'tEST+InG'.lower() == 'test+ing'
  15. # assert 'tEST+InG'.upper() == 'TEST+ING'
  16. s = "football"
  17. q = "abcd"
  18. r = "zoo"
  19. str = "this is string example....wow!!!"
  20. assert s[0] == 'f'
  21. assert s[1:4] == 'oot'
  22. assert s[:-1] == 'footbal'
  23. assert s[:10] == 'football'
  24. assert s[-3] == 'a'
  25. assert str[-5:] == 'ow!!!'
  26. assert str[3:-3] == 's is string example....wow'
  27. assert s > q;assert s < r
  28. assert s.replace("foo","ball") == "balltball"
  29. assert s.startswith('f') == True;assert s.endswith('o') == False
  30. assert str.startswith('this') == True;
  31. assert str.split('w') == ['this is string example....', 'o', '!!!']
  32. assert "a,b,c".split(',') == ['a', 'b', 'c']
  33. assert 'a,'.split(',') == ['a', '']
  34. assert 'foo!!bar!!baz'.split('!!') == ['foo', 'bar', 'baz']
  35. str = "*****this is **string** example....wow!!!*****"
  36. s = "123abcrunoob321"
  37. # assert str.strip( '*' ) == "this is **string** example....wow!!!"
  38. # assert s.strip( '12' ) == "3abcrunoob3"
  39. assert str.strip( '*' ) == "this is **string** example....wow!!!"
  40. assert s.strip( '12' ) == "3abcrunoob3"
  41. s = ' asd\n asd \n'
  42. assert s.strip() == 'asd\n asd'
  43. s1 = "-"
  44. s2 = ""
  45. seq = ["r","u","n","o","o","b"]
  46. assert s1.join( seq ) == "r-u-n-o-o-b"
  47. assert s2.join( seq ) == "runoob"
  48. def test(*seq):
  49. return s1.join(seq)
  50. assert test("r", "u", "n", "o", "o", "b") == "r-u-n-o-o-b"
  51. ##num = 6
  52. ##assert str(num) == '6' TypeError: 'str' object is not callable
  53. ##############################################
  54. ##Lists
  55. ##############################################
  56. l = [1,2,3,4]
  57. assert l[2] == 3
  58. assert l[-1] == 4
  59. assert l[:32] == [1,2,3,4]
  60. assert l[32:] == []
  61. assert l[1:4] == [2,3,4]
  62. assert l[-1:-3] == []
  63. assert l[-3:-1] == [2,3]
  64. l1 = [1];l2 = l1;l1.append(2);l3 = [1,1,2]
  65. assert l2[1] == 2
  66. assert l1 == l2
  67. assert l1*3 == [1,2,1,2,1,2]
  68. assert l3.count(1) == 2
  69. member = ['Tom', 'Sunny', 'Honer', 'Lily']
  70. teacher = [1,2,3]
  71. assert len(member + teacher) == 7
  72. assert member[0] == 'Tom'
  73. assert member[-2] == 'Honer'
  74. assert member[0:3] == ['Tom', 'Sunny', 'Honer']
  75. member.remove('Sunny')
  76. assert member == ['Tom', 'Honer', 'Lily']
  77. member.pop()
  78. assert member == ['Tom', 'Honer']
  79. del member[0]
  80. assert member == ['Honer']
  81. member.append('Jack')
  82. assert member == ['Honer','Jack']
  83. member.extend(teacher)
  84. assert member == ['Honer','Jack',1,2,3]
  85. member.insert(1,'Tom')
  86. assert member == ['Honer','Tom','Jack',1,2,3]
  87. member.clear()
  88. assert member == []
  89. member = teacher.copy()
  90. assert member == [1,2,3]
  91. l = []
  92. l.insert(0, 'l')
  93. l.insert(1, 'l')
  94. l.insert(0, 'h')
  95. l.insert(3, 'o')
  96. l.insert(1, 'e')
  97. assert l == ['h', 'e', 'l', 'l', 'o']
  98. assert l[-2] == 'l'
  99. ##############################################
  100. ##tuple
  101. ##############################################
  102. tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
  103. a,b = 1,2
  104. assert a == 1
  105. assert b == 2
  106. a,b = b,a
  107. assert a == 2
  108. assert b == 1
  109. assert len(tup) == 6
  110. ##############################################
  111. ##dict
  112. ##############################################
  113. emptyDict = dict()
  114. assert len(emptyDict) == 0
  115. tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
  116. assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7
  117. tinydict['Age'] = 8;tinydict['School'] = "aaa"
  118. assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa"
  119. del tinydict['Name']
  120. assert len(tinydict) == 3
  121. tinydict.clear()
  122. assert len(tinydict) == 0
  123. dict1 = {'user':'circle','num':[1,2,3]}
  124. dict2 = dict1.copy()
  125. for k,v in dict1.items():
  126. assert dict2[k] == v
  127. tinydict = {'Name': 'circle', 'Age': 7}
  128. tinydict2 = {'Sex': 'female' }
  129. tinydict.update(tinydict2)
  130. updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'}
  131. for k,v in tinydict.items():
  132. assert updated_dict[k] == v
  133. dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
  134. keys = dishes.keys()
  135. values = dishes.values()
  136. assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam'])
  137. assert sorted(values) == sorted([2, 1, 1, 500])
  138. d={1:"a",2:"b",3:"c"}
  139. result=[]
  140. for kv in d.items():
  141. k = kv[0]; v=kv[1]
  142. result.append(k)
  143. result.append(v)
  144. assert result == [1, 'a', 2, 'b', 3, 'c']
  145. a = [1,2,3,-1]
  146. assert sorted(a) == [-1,1,2,3]
  147. assert sorted(a, lambda x:-x) == [3,2,1,-1]
  148. assert sorted(a, None, True) == [3,2,1,-1]
  149. assert abs(0) == 0
  150. assert abs(1.0) == 1.0
  151. assert abs(-1.0) == 1.0
  152. assert abs(1) == 1
  153. assert abs(-1) == 1