UnitTest2.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!pika
  2. import PikaStdLib
  3. import PikaStdData
  4. def EXPECT_EQ(test_name, input, expected):
  5. print('-----TEST-----')
  6. print(test_name)
  7. if input != expected:
  8. print('[Error]')
  9. print(test_name)
  10. print('[info] Expected:')
  11. print(expected)
  12. print('[info] Input:')
  13. print(input)
  14. # error
  15. while True:
  16. is_error = 1
  17. else:
  18. print('[ OK ]')
  19. mem = PikaStdLib.MemChecker()
  20. mem.resetMax()
  21. a = 0
  22. for i in range(0, 10):
  23. if i == 5:
  24. continue
  25. a = a + i
  26. EXPECT_EQ('for_if_continue', a, 40)
  27. a = 0
  28. for i in range(0, 10):
  29. if i == 5:
  30. break
  31. a = a + i
  32. EXPECT_EQ('for_if_break', a, 10)
  33. a = 0
  34. for i in range(0, 10):
  35. for k in range(0, 3):
  36. # print(k)
  37. a = a + k
  38. EXPECT_EQ('for_for_in_range', a, 30)
  39. a = 0
  40. for i in range(0, 10):
  41. # print(i)
  42. a = a + i
  43. EXPECT_EQ('for_in_range', a, 45)
  44. list = PikaStdData.List()
  45. list.append(7)
  46. list.append('eee')
  47. len = list.len()
  48. for item in list:
  49. # print(item)
  50. a = item
  51. EXPECT_EQ('list_for_loop', a, 'eee')
  52. list = PikaStdData.List()
  53. list.append(7)
  54. list.append('eee')
  55. len = list.len()
  56. a1 = list.get(0)
  57. a2 = list.get(1)
  58. res = iter(list)
  59. EXPECT_EQ('iter', res, list)
  60. dict = PikaStdData.Dict()
  61. dict.set('a', 1)
  62. dict.set('b', 2)
  63. dict.remove('b')
  64. a = dict.get('a')
  65. EXPECT_EQ('PikaStdData', a, 1)
  66. num = 0
  67. i = 2
  68. for i in range(2,30):
  69. j=2
  70. is_prime = 1
  71. for j in range(2,i):
  72. if i%j==0 :
  73. is_prime = 0
  74. break
  75. if is_prime:
  76. num = num + i
  77. EXPECT_EQ('prime_number_30', num, 129)
  78. print('====================')
  79. print('[Unit Tests Succeed]')
  80. print('====================')
  81. print('mem used max:')
  82. mem.max()
  83. exit()
  84. #!pika