UnitTest.py 1.7 KB

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