main.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import PikaStdLib
  2. import PikaStdData
  3. mem = PikaStdLib.MemChecker()
  4. mem.resetMax()
  5. def EXPECT_EQ(test_name, input, expected):
  6. print('-----TEST-----')
  7. print(test_name)
  8. if input != expected:
  9. print('[Error]')
  10. print(test_name)
  11. print('[info] Expected:')
  12. print(expected)
  13. print('[info] Input:')
  14. print(input)
  15. # error
  16. while True:
  17. is_error = 1
  18. else:
  19. print('[ OK ]')
  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. b = dict.get('b')
  65. EXPECT_EQ('PikaStdData', a, 1)
  66. EXPECT_EQ('PikaStdData_2', b, 0)
  67. num = 0
  68. i = 2
  69. for i in range(2,30):
  70. j=2
  71. is_prime = 1
  72. for j in range(2,i):
  73. if i%j==0 :
  74. is_prime = 0
  75. break
  76. if is_prime:
  77. num = num + i
  78. EXPECT_EQ('prime_number_30', num, 129)
  79. print('====================')
  80. print('[Unit Tests Succeed]')
  81. print('====================')
  82. print('mem used max:')
  83. mem.max()