_builtin_ty.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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. t = "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 t[-5:] == 'ow!!!'
  26. assert t[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 t.startswith('this') == True;
  31. assert t.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. t = "*****this is **string** example....wow!!!*****"
  36. s = "123abcrunoob321"
  37. assert t.strip( '*' ) == "this is **string** example....wow!!!"
  38. assert s.strip( '12' ) == "3abcrunoob3"
  39. assert t.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. def f():
  52. for i in range(5):
  53. yield str(i)
  54. assert '|'.join(f()) == '0|1|2|3|4'
  55. num = 6
  56. assert str(num) == '6'
  57. ##############################################
  58. ##Lists
  59. ##############################################
  60. l = [1,2,3,4]
  61. assert l[2] == 3
  62. assert l[-1] == 4
  63. assert l[:32] == [1,2,3,4]
  64. assert l[32:] == []
  65. assert l[1:4] == [2,3,4]
  66. assert l[-1:-3] == []
  67. assert l[-3:-1] == [2,3]
  68. l = (1,2,3,4)
  69. assert l[2] == 3
  70. assert l[-1] == 4
  71. assert l[:32] == (1,2,3,4)
  72. assert l[32:] == tuple([])
  73. assert l[1:4] == (2,3,4)
  74. assert l[-1:-3] == tuple([])
  75. assert l[-3:-1] == (2,3)
  76. l1 = [1];l2 = l1;l1.append(2);l3 = [1,1,2]
  77. assert l2[1] == 2
  78. assert l1 == l2
  79. assert l1*3 == [1,2,1,2,1,2]
  80. assert l3.count(1) == 2
  81. member = ['Tom', 'Sunny', 'Honer', 'Lily']
  82. teacher = [1,2,3]
  83. assert len(member + teacher) == 7
  84. assert member[0] == 'Tom'
  85. assert member[-2] == 'Honer'
  86. assert member[0:3] == ['Tom', 'Sunny', 'Honer']
  87. member.remove('Sunny')
  88. assert member == ['Tom', 'Honer', 'Lily']
  89. member.pop()
  90. assert member == ['Tom', 'Honer']
  91. del member[0]
  92. assert member == ['Honer']
  93. member.append('Jack')
  94. assert member == ['Honer','Jack']
  95. member.extend(teacher)
  96. assert member == ['Honer','Jack',1,2,3]
  97. member.insert(1,'Tom')
  98. assert member == ['Honer','Tom','Jack',1,2,3]
  99. member.clear()
  100. assert member == []
  101. member = teacher.copy()
  102. assert member == [1,2,3]
  103. l = []
  104. l.insert(0, 'l')
  105. l.insert(1, 'l')
  106. l.insert(0, 'h')
  107. l.insert(3, 'o')
  108. l.insert(1, 'e')
  109. assert l == ['h', 'e', 'l', 'l', 'o']
  110. assert l[-2] == 'l'
  111. ##############################################
  112. ##tuple
  113. ##############################################
  114. tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
  115. a,b = 1,2
  116. assert a == 1
  117. assert b == 2
  118. a,b = b,a
  119. assert a == 2
  120. assert b == 1
  121. assert len(tup) == 6
  122. ##############################################
  123. ##dict
  124. ##############################################
  125. emptyDict = dict()
  126. assert len(emptyDict) == 0
  127. tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
  128. assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7
  129. tinydict['Age'] = 8;tinydict['School'] = "aaa"
  130. assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa"
  131. del tinydict['Name']
  132. assert len(tinydict) == 3
  133. tinydict.clear()
  134. assert len(tinydict) == 0
  135. dict1 = {'user':'circle','num':[1,2,3]}
  136. dict2 = dict1.copy()
  137. for k,v in dict1.items():
  138. assert dict2[k] == v
  139. tinydict = {'Name': 'circle', 'Age': 7}
  140. tinydict2 = {'Sex': 'female' }
  141. tinydict.update(tinydict2)
  142. updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'}
  143. for k,v in tinydict.items():
  144. assert updated_dict[k] == v
  145. dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
  146. keys = dishes.keys()
  147. values = dishes.values()
  148. assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam'])
  149. assert sorted(values) == sorted([2, 1, 1, 500])
  150. d={1:"a",2:"b",3:"c"}
  151. result=[]
  152. for kv in d.items():
  153. k = kv[0]; v=kv[1]
  154. result.append(k)
  155. result.append(v)
  156. assert result == [1, 'a', 2, 'b', 3, 'c']
  157. a = [1,2,3,-1]
  158. assert sorted(a) == [-1,1,2,3]
  159. assert sorted(a, reverse=True) == [3,2,1,-1]
  160. assert abs(0) == 0
  161. assert abs(1.0) == 1.0
  162. assert abs(-1.0) == 1.0
  163. assert abs(1) == 1
  164. assert abs(-1) == 1
  165. assert any([1])
  166. assert any([1,False,True])
  167. assert not any([])
  168. assert not any([False])
  169. assert all([])
  170. assert all([True])
  171. assert all([True, 1])
  172. assert not all([False])
  173. assert not all([True, False])
  174. assert not all([False, False])
  175. assert list(enumerate([1,2,3])) == [(0,1), (1,2), (2,3)]
  176. assert list(enumerate([1,2,3], 1)) == [(1,1), (2,2), (3,3)]