diff --git a/port/linux/test/python/UnitTest.py b/port/linux/test/python/UnitTest.py new file mode 100644 index 000000000..fe1edd5ba --- /dev/null +++ b/port/linux/test/python/UnitTest.py @@ -0,0 +1,95 @@ +import PikaStdLib +import PikaStdData + +mem = PikaStdLib.MemChecker() +mem.resetMax() +def EXPECT_EQ(test_name, input, expected): + print('-----TEST-----') + print(test_name) + if input != expected: + print('[Error]') + print(test_name) + print('[info] Expected:') + print(expected) + print('[info] Input:') + print(input) + # error + while True: + is_error = 1 + else: + print('[ OK ]') + +a = 0 +for i in range(0, 10): + if i == 5: + continue + a = a + i +EXPECT_EQ('for_if_continue', a, 40) + +a = 0 +for i in range(0, 10): + if i == 5: + break + a = a + i +EXPECT_EQ('for_if_break', a, 10) + +a = 0 +for i in range(0, 10): + for k in range(0, 3): + # print(k) + a = a + k +EXPECT_EQ('for_for_in_range', a, 30) + +a = 0 +for i in range(0, 10): + # print(i) + a = a + i +EXPECT_EQ('for_in_range', a, 45) + +list = PikaStdData.List() +list.append(7) +list.append('eee') +len = list.len() +for item in list: + # print(item) + a = item +EXPECT_EQ('list_for_loop', a, 'eee') + + +list = PikaStdData.List() +list.append(7) +list.append('eee') +len = list.len() +a1 = list.get(0) +a2 = list.get(1) +res = iter(list) +EXPECT_EQ('iter', res, list) + +dict = PikaStdData.Dict() +dict.set('a', 1) +dict.set('b', 2) +dict.remove('b') +a = dict.get('a') +b = dict.get('b') +EXPECT_EQ('PikaStdData', a, 1) +EXPECT_EQ('PikaStdData_2', b, 0) + +num = 0 +i = 2 +for i in range(2,30): + j=2 + is_prime = 1 + for j in range(2,i): + if i%j==0 : + is_prime = 0 + break + if is_prime: + num = num + i +EXPECT_EQ('prime_number_30', num, 129) + + +print('====================') +print('[Unit Tests Succeed]') +print('====================') +print('mem used max:') +mem.max()