diff --git a/tests/01_int.py b/tests/01_int.py new file mode 100644 index 00000000..0a6d3a48 --- /dev/null +++ b/tests/01_int.py @@ -0,0 +1,61 @@ +# test int literals +assert 0xffff == 65535 +assert 0xAAFFFF == 11206655 +assert 0x7fffffff == 2147483647 # will fail on 32-bit systems + +# test == != >= <= < > +assert -1 == -1 +assert -1 != 1 +assert -1 >= -1 +assert -1 <= -1 +assert -1 < 1 +assert -1 > -2 + +# test + - * % ** // +assert -1 + 1 == 0 +assert -1 - 1 == -2 +assert 4 * -1 == -4 +assert 5 % 2 == 1 +assert 2 ** 3 == 8 +assert 4 // 2 == 2 +assert 5 // 2 == 2 + +# test += -= *= //= +x = 3 +x += 1 +assert x == 4 +x -= 1 +assert x == 3 +x *= 2 +assert x == 6 +x //= 2 +assert x == 3 + +# test __str__, __repr__, __json__ +assert str(1) == '1' +assert repr(1) == '1' +assert (1).__json__() == '1' + +# test int() +assert int(1) == 1 +assert int(1.0) == 1 +assert int(1.1) == 1 +assert int(1.9) == 1 +assert int(-1.9) == -1 +assert int(1.5) == 1 +assert int(-1.5) == -1 +assert int("123") == 123 + +# test >> << & | ^ +assert 12 >> 1 == 6 +assert 12 << 1 == 24 +assert 12 & 1 == 0 +assert 12 | 1 == 13 +assert 12 ^ 1 == 13 + +# test high precision int pow +assert 7**21 == 558545864083284007 +assert 2**60 == 1152921504606846976 +assert -2**60 == -1152921504606846976 +assert 4**13 == 67108864 +assert (-4)**13 == -67108864 \ No newline at end of file diff --git a/tests/02_float.py b/tests/02_float.py new file mode 100644 index 00000000..c9168722 --- /dev/null +++ b/tests/02_float.py @@ -0,0 +1,47 @@ +def eq(a, b): + dt = a - b + return dt > -0.001 and dt < 0.001 + +# test == != >= <= < > +assert 1.0 == 1.0 +assert 1.0 != 1.1 +assert 1.0 >= 1.0 +assert 1.0 <= 1.0 +assert 1.0 < 1.1 +assert 1.1 > 1.0 + +# test + - * ** / +assert eq(1.5 + 3, 4.5) +assert eq(1.5 + 3.9, 5.4) +assert eq(5.3 - 2.5, 2.8) +assert eq(0.2**2, 0.04) +assert eq(4**(-1.0), 0.25) +assert eq(2/1, 2.0) +assert eq(3/2.0, 1.5) +assert eq(1/9, 0.11111) + +# test += -= *= /= +x = 3.0 +x += 1 +assert eq(x, 4.0) +x -= 1 +assert eq(x, 3.0) +x *= 2 +assert eq(x, 6.0) +x /= 1.8 +assert eq(x, 3.3333) + +# test __str__, __repr__ +assert str(1.0) == '1.0' +assert repr(1.0) == '1.0' + +# test float() +assert eq(float(1), 1.0) +assert eq(float(1.0), 1.0) +assert eq(float(1.1), 1.1) +assert eq(float(1.9), 1.9) +assert eq(float(-1.9), -1.9) +assert eq(float(1.5), 1.5) +assert eq(float(-1.5), -1.5) +assert eq(float("123"), 123.0) +assert eq(float("123.456"), 123.456) diff --git a/tests/03_bool.py b/tests/03_bool.py new file mode 100644 index 00000000..315491f1 --- /dev/null +++ b/tests/03_bool.py @@ -0,0 +1,25 @@ +# test == != +assert True == True +assert True != False +assert False == False +assert False != True + +# test and/or/not +assert True and True +assert not (True and False) +assert True or True +assert True or False +assert not False +assert not (not True) + +assert bool(0) == False +assert bool(1) == True +assert bool([]) == False +assert bool("abc") == True +assert bool([1,2]) == True +assert bool('') == False + +# test ?: +a = 5 +assert ((a > 3) ? 1 : 0) == 1 +assert ((a < 3) ? 1 : 0) == 0 \ No newline at end of file diff --git a/tests/04_str.py b/tests/04_str.py new file mode 100644 index 00000000..cdccf99c --- /dev/null +++ b/tests/04_str.py @@ -0,0 +1,73 @@ +assert 'testing' == 'test' + 'ing' +assert 'testing' != 'test' + 'ing2' +assert 'testing' < 'test' + 'ing2' +assert 'testing5' > 'test' + 'ing1' + +# test + *= +assert 'abc' + 'def' == 'abcdef' +assert 'abc' * 3 == 'abcabcabc' + +a = '' +b = 'test' +c ='test' +assert len(a) == 0 +assert len(b) == 4 +assert b == c + +# upper and lower not work for utf-8 +# assert ''.lower() == '' and ''.upper() == '' +# assert 'already+lower '.lower() == 'already+lower ' +# assert 'ALREADY+UPPER '.upper() == 'ALREADY+UPPER ' +# assert 'tEST+InG'.lower() == 'test+ing' +# assert 'tEST+InG'.upper() == 'TEST+ING' + +s = "football" +q = "abcd" +r = "zoo" +t = "this is string example....wow!!!" +assert s[0] == 'f' +assert s[1:4] == 'oot' +assert s[:-1] == 'footbal' +assert s[:10] == 'football' +assert s[-3] == 'a' +assert t[-5:] == 'ow!!!' +assert t[3:-3] == 's is string example....wow' +assert s > q;assert s < r +assert s.replace("foo","ball") == "balltball" +assert s.startswith('f') == True;assert s.endswith('o') == False +assert t.startswith('this') == True; + + +assert t.split('w') == ['this is string example....', 'o', '!!!'] +assert "a,b,c".split(',') == ['a', 'b', 'c'] +assert 'a,'.split(',') == ['a', ''] +assert 'foo!!bar!!baz'.split('!!') == ['foo', 'bar', 'baz'] + +t = "*****this is **string** example....wow!!!*****" +s = "123abcrunoob321" +assert t.strip( '*' ) == "this is **string** example....wow!!!" +assert s.strip( '12' ) == "3abcrunoob3" + +assert t.strip( '*' ) == "this is **string** example....wow!!!" +assert s.strip( '12' ) == "3abcrunoob3" + +s = ' asd\n asd \n' +assert s.strip() == 'asd\n asd' + +s1 = "-" +s2 = "" +seq = ["r","u","n","o","o","b"] +assert s1.join( seq ) == "r-u-n-o-o-b" +assert s2.join( seq ) == "runoob" + +def test(*seq): + return s1.join(seq) +assert test("r", "u", "n", "o", "o", "b") == "r-u-n-o-o-b" + +def f(): + for i in range(5): + yield str(i) +assert '|'.join(f()) == '0|1|2|3|4' + +num = 6 +assert str(num) == '6' \ No newline at end of file diff --git a/tests/05_list.py b/tests/05_list.py new file mode 100644 index 00000000..31642ea9 --- /dev/null +++ b/tests/05_list.py @@ -0,0 +1,65 @@ +# generate assert test for list + +assert [1, 2, 3] == [1, 2, 3] +assert [1, 2, 3] != [1, 2, 4] + +# test + *= +assert [1, 2, 3] + [4, 5, 6] == [1, 2, 3, 4, 5, 6] +assert [1, 2, 3] * 3 == [1, 2, 3, 1, 2, 3, 1, 2, 3] + +l = [1,2,3,4] +assert l[2] == 3 +assert l[-1] == 4 +assert l[:32] == [1,2,3,4] +assert l[32:] == [] +assert l[1:4] == [2,3,4] +assert l[-1:-3] == [] +assert l[-3:-1] == [2,3] + +l = (1,2,3,4) +assert l[2] == 3 +assert l[-1] == 4 +assert l[:32] == (1,2,3,4) +assert l[32:] == tuple([]) +assert l[1:4] == (2,3,4) +assert l[-1:-3] == tuple([]) +assert l[-3:-1] == (2,3) + +l1 = [1];l2 = l1;l1.append(2);l3 = [1,1,2] +assert l2[1] == 2 +assert l1 == l2 +assert l1*3 == [1,2,1,2,1,2] +assert l3.count(1) == 2 + +member = ['Tom', 'Sunny', 'Honer', 'Lily'] +teacher = [1,2,3] +assert len(member + teacher) == 7 +assert member[0] == 'Tom' +assert member[-2] == 'Honer' +assert member[0:3] == ['Tom', 'Sunny', 'Honer'] + +member.remove('Sunny') +assert member == ['Tom', 'Honer', 'Lily'] +member.pop() +assert member == ['Tom', 'Honer'] +del member[0] +assert member == ['Honer'] +member.append('Jack') +assert member == ['Honer','Jack'] +member.extend(teacher) +assert member == ['Honer','Jack',1,2,3] +member.insert(1,'Tom') +assert member == ['Honer','Tom','Jack',1,2,3] +member.clear() +assert member == [] +member = teacher.copy() +assert member == [1,2,3] + +l = [] +l.insert(0, 'l') +l.insert(1, 'l') +l.insert(0, 'h') +l.insert(3, 'o') +l.insert(1, 'e') +assert l == ['h', 'e', 'l', 'l', 'o'] +assert l[-2] == 'l' \ No newline at end of file diff --git a/tests/06_tuple.py b/tests/06_tuple.py new file mode 100644 index 00000000..7f88ddf1 --- /dev/null +++ b/tests/06_tuple.py @@ -0,0 +1,8 @@ +tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin') +a,b = 1,2 +assert a == 1 +assert b == 2 +a,b = b,a +assert a == 2 +assert b == 1 +assert len(tup) == 6 \ No newline at end of file diff --git a/tests/07_dict.py b/tests/07_dict.py new file mode 100644 index 00000000..c6f98a07 --- /dev/null +++ b/tests/07_dict.py @@ -0,0 +1,36 @@ +emptyDict = dict() +assert len(emptyDict) == 0 +tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'} +assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7 +tinydict['Age'] = 8;tinydict['School'] = "aaa" +assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa" +del tinydict['Name'] +assert len(tinydict) == 3 +tinydict.clear() +assert len(tinydict) == 0 + +dict1 = {'user':'circle','num':[1,2,3]} +dict2 = dict1.copy() +for k,v in dict1.items(): + assert dict2[k] == v + +tinydict = {'Name': 'circle', 'Age': 7} +tinydict2 = {'Sex': 'female' } +tinydict.update(tinydict2) +updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'} +for k,v in tinydict.items(): + assert updated_dict[k] == v + +dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500} +keys = dishes.keys() +values = dishes.values() +assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam']) +assert sorted(values) == sorted([2, 1, 1, 500]) + +d={1:"a",2:"b",3:"c"} +result=[] +for kv in d.items(): + k = kv[0]; v=kv[1] + result.append(k) + result.append(v) +assert result == [1, 'a', 2, 'b', 3, 'c'] \ No newline at end of file diff --git a/tests/_set.py b/tests/08_set.py similarity index 100% rename from tests/_set.py rename to tests/08_set.py diff --git a/tests/_controlflow.py b/tests/20_controlflow.py similarity index 100% rename from tests/_controlflow.py rename to tests/20_controlflow.py diff --git a/tests/_functions.py b/tests/21_functions.py similarity index 100% rename from tests/_functions.py rename to tests/21_functions.py diff --git a/tests/_typehints.py b/tests/22_typehints.py similarity index 100% rename from tests/_typehints.py rename to tests/22_typehints.py diff --git a/tests/_listcomp.py b/tests/23_listcomp.py similarity index 100% rename from tests/_listcomp.py rename to tests/23_listcomp.py diff --git a/tests/_inline_blocks.py b/tests/24_inline_blocks.py similarity index 100% rename from tests/_inline_blocks.py rename to tests/24_inline_blocks.py diff --git a/tests/_rawstring.py b/tests/25_rawstring.py similarity index 100% rename from tests/_rawstring.py rename to tests/25_rawstring.py diff --git a/tests/_multiline.py b/tests/26_multiline.py similarity index 100% rename from tests/_multiline.py rename to tests/26_multiline.py diff --git a/tests/_goto.py b/tests/27_goto.py similarity index 100% rename from tests/_goto.py rename to tests/27_goto.py diff --git a/tests/_class.py b/tests/40_class.py similarity index 100% rename from tests/_class.py rename to tests/40_class.py diff --git a/tests/_exception.py b/tests/41_exception.py similarity index 100% rename from tests/_exception.py rename to tests/41_exception.py diff --git a/tests/_closure.py b/tests/42_closure.py similarity index 100% rename from tests/_closure.py rename to tests/42_closure.py diff --git a/tests/_eval.py b/tests/43_eval.py similarity index 100% rename from tests/_eval.py rename to tests/43_eval.py diff --git a/tests/_decorator.py b/tests/44_decorator.py similarity index 100% rename from tests/_decorator.py rename to tests/44_decorator.py diff --git a/tests/_yield.py b/tests/45_yield.py similarity index 100% rename from tests/_yield.py rename to tests/45_yield.py diff --git a/tests/_star.py b/tests/46_star.py similarity index 100% rename from tests/_star.py rename to tests/46_star.py diff --git a/tests/_reflection.py b/tests/47_reflection.py similarity index 100% rename from tests/_reflection.py rename to tests/47_reflection.py diff --git a/tests/70_builtins.py b/tests/70_builtins.py new file mode 100644 index 00000000..9b7578d1 --- /dev/null +++ b/tests/70_builtins.py @@ -0,0 +1,29 @@ +assert round(23.2) == 23 +assert round(23.8) == 24 +assert round(-23.2) == -23 +assert round(-23.8) == -24 + +a = [1,2,3,-1] +assert sorted(a) == [-1,1,2,3] +assert sorted(a, reverse=True) == [3,2,1,-1] + +assert abs(0) == 0 +assert abs(1.0) == 1.0 +assert abs(-1.0) == 1.0 +assert abs(1) == 1 +assert abs(-1) == 1 + +assert any([1]) +assert any([1,False,True]) +assert not any([]) +assert not any([False]) + +assert all([]) +assert all([True]) +assert all([True, 1]) +assert not all([False]) +assert not all([True, False]) +assert not all([False, False]) + +assert list(enumerate([1,2,3])) == [(0,1), (1,2), (2,3)] +assert list(enumerate([1,2,3], 1)) == [(1,1), (2,2), (3,3)] \ No newline at end of file diff --git a/tests/_file.py b/tests/70_file.py similarity index 100% rename from tests/_file.py rename to tests/70_file.py diff --git a/tests/_math.py b/tests/70_math.py similarity index 100% rename from tests/_math.py rename to tests/70_math.py diff --git a/tests/_random.py b/tests/70_random.py similarity index 100% rename from tests/_random.py rename to tests/70_random.py diff --git a/tests/_re.py b/tests/70_re.py similarity index 100% rename from tests/_re.py rename to tests/70_re.py diff --git a/tests/_json.py b/tests/80_json.py similarity index 100% rename from tests/_json.py rename to tests/80_json.py diff --git a/tests/_json_alt.py b/tests/80_json_alt.py similarity index 100% rename from tests/_json_alt.py rename to tests/80_json_alt.py diff --git a/tests/_prime.py b/tests/96_prime.py similarity index 100% rename from tests/_prime.py rename to tests/96_prime.py diff --git a/tests/_dna.py b/tests/97_dna.py similarity index 100% rename from tests/_dna.py rename to tests/97_dna.py diff --git a/tests/_assign.py b/tests/98_misc.py similarity index 100% rename from tests/_assign.py rename to tests/98_misc.py diff --git a/tests/_bugs.py b/tests/99_bugs.py similarity index 100% rename from tests/_bugs.py rename to tests/99_bugs.py diff --git a/tests/_basic.py b/tests/_basic.py deleted file mode 100644 index 98e556a5..00000000 --- a/tests/_basic.py +++ /dev/null @@ -1,128 +0,0 @@ -# generate assert test for int - -assert 0xffff == 65535 -assert 0xAAFFFF == 11206655 -assert 0x7fffffff == 2147483647 - -# test == != >= <= < > -# generate 2 cases for each operator -assert -1 == -1 -assert -1 != 1 -assert -1 >= -1 -assert -1 <= -1 -assert -1 < 1 -assert -1 > -2 - -# test + - * % ** // -assert -1 + 1 == 0 -assert -1 - 1 == -2 -assert 4 * -1 == -4 -assert 5 % 2 == 1 -assert 2 ** 3 == 8 -assert 4 // 2 == 2 -assert 5 // 2 == 2 - -# test += -= *= //= -x = 3 -x += 1 -assert x == 4 -x -= 1 -assert x == 3 -x *= 2 -assert x == 6 -x //= 2 -assert x == 3 - -# generate assert test for float - -def eq(a, b): - dt = a - b - return dt > -0.001 and dt < 0.001 - -# test + - * / ** -assert eq(1.5 + 3, 4.5) -assert eq(1.5 + 3.9, 5.4) -assert eq(5.3 - 2.5, 2.8) -assert eq(0.2**2, 0.04) -assert eq(4**(-1.0), 0.25) -assert eq(2/1, 2) -assert eq(3/2.0, 1.5) -assert eq(1/9, 0.11111) - -# test += -= *= /= -x = 3.0 -x += 1 -assert eq(x, 4.0) -x -= 1 -assert eq(x, 3.0) -x *= 2 -assert eq(x, 6.0) -x /= 1.8 -assert eq(x, 3.3333) - -# generate assert test for bool - -assert True == True -assert True != False -assert False == False -assert False != True - -# test and/or/not -assert True and True -assert not (True and False) -assert True or True -assert True or False -assert not False -assert not (not True) - -assert bool(0) == False -assert bool(1) == True -assert bool([]) == False -assert bool("abc") == True -assert bool([1,2]) == True -assert bool('') == False - -# generate assert test for str - -assert 'testing' == 'test' + 'ing' -assert 'testing' != 'test' + 'ing2' -assert 'testing' < 'test' + 'ing2' -assert 'testing5' > 'test' + 'ing1' - -# test + *= -assert 'abc' + 'def' == 'abcdef' -assert 'abc' * 3 == 'abcabcabc' - -# generate assert test for list - -assert [1, 2, 3] == [1, 2, 3] -assert [1, 2, 3] != [1, 2, 4] - -# test + *= -assert [1, 2, 3] + [4, 5, 6] == [1, 2, 3, 4, 5, 6] -assert [1, 2, 3] * 3 == [1, 2, 3, 1, 2, 3, 1, 2, 3] - -# test ?: -a = 5 -assert ((a > 3) ? 1 : 0) == 1 -assert ((a < 3) ? 1 : 0) == 0 - -assert eq(round(3.1415926, 2), 3.14) -assert eq(round(3.1415926, 3), 3.142) -assert eq(round(3.1415926, 4), 3.1416) -assert eq(round(-3.1415926, 2), -3.14) -assert eq(round(-3.1415926, 3), -3.142) -assert eq(round(-3.1415926, 4), -3.1416) -assert round(23.2) == 23 -assert round(23.8) == 24 -assert round(-23.2) == -23 -assert round(-23.8) == -24 - - -assert 7**21 == 558545864083284007 -assert 2**60 == 1152921504606846976 -assert -2**60 == -1152921504606846976 -assert eq(2**-2, 0.25) -assert 0**0 == 1 -assert 0**1 == 0 -assert 1**0 == 1 \ No newline at end of file diff --git a/tests/_builtin_ty.py b/tests/_builtin_ty.py deleted file mode 100644 index 723ccf59..00000000 --- a/tests/_builtin_ty.py +++ /dev/null @@ -1,207 +0,0 @@ -############################################## -##String -############################################## - -a = '' -b = 'test' -c ='test' -assert len(a) == 0 -assert len(b) == 4 -assert b == c - -# upper and lower not work for utf-8 -# assert ''.lower() == '' and ''.upper() == '' -# assert 'already+lower '.lower() == 'already+lower ' -# assert 'ALREADY+UPPER '.upper() == 'ALREADY+UPPER ' -# assert 'tEST+InG'.lower() == 'test+ing' -# assert 'tEST+InG'.upper() == 'TEST+ING' - -s = "football" -q = "abcd" -r = "zoo" -t = "this is string example....wow!!!" -assert s[0] == 'f' -assert s[1:4] == 'oot' -assert s[:-1] == 'footbal' -assert s[:10] == 'football' -assert s[-3] == 'a' -assert t[-5:] == 'ow!!!' -assert t[3:-3] == 's is string example....wow' -assert s > q;assert s < r -assert s.replace("foo","ball") == "balltball" -assert s.startswith('f') == True;assert s.endswith('o') == False -assert t.startswith('this') == True; - - -assert t.split('w') == ['this is string example....', 'o', '!!!'] -assert "a,b,c".split(',') == ['a', 'b', 'c'] -assert 'a,'.split(',') == ['a', ''] -assert 'foo!!bar!!baz'.split('!!') == ['foo', 'bar', 'baz'] - -t = "*****this is **string** example....wow!!!*****" -s = "123abcrunoob321" -assert t.strip( '*' ) == "this is **string** example....wow!!!" -assert s.strip( '12' ) == "3abcrunoob3" - -assert t.strip( '*' ) == "this is **string** example....wow!!!" -assert s.strip( '12' ) == "3abcrunoob3" - -s = ' asd\n asd \n' -assert s.strip() == 'asd\n asd' - -s1 = "-" -s2 = "" -seq = ["r","u","n","o","o","b"] -assert s1.join( seq ) == "r-u-n-o-o-b" -assert s2.join( seq ) == "runoob" - -def test(*seq): - return s1.join(seq) -assert test("r", "u", "n", "o", "o", "b") == "r-u-n-o-o-b" - -def f(): - for i in range(5): - yield str(i) -assert '|'.join(f()) == '0|1|2|3|4' - -num = 6 -assert str(num) == '6' - -############################################## -##Lists -############################################## - -l = [1,2,3,4] -assert l[2] == 3 -assert l[-1] == 4 -assert l[:32] == [1,2,3,4] -assert l[32:] == [] -assert l[1:4] == [2,3,4] -assert l[-1:-3] == [] -assert l[-3:-1] == [2,3] - -l = (1,2,3,4) -assert l[2] == 3 -assert l[-1] == 4 -assert l[:32] == (1,2,3,4) -assert l[32:] == tuple([]) -assert l[1:4] == (2,3,4) -assert l[-1:-3] == tuple([]) -assert l[-3:-1] == (2,3) - -l1 = [1];l2 = l1;l1.append(2);l3 = [1,1,2] -assert l2[1] == 2 -assert l1 == l2 -assert l1*3 == [1,2,1,2,1,2] -assert l3.count(1) == 2 - -member = ['Tom', 'Sunny', 'Honer', 'Lily'] -teacher = [1,2,3] -assert len(member + teacher) == 7 -assert member[0] == 'Tom' -assert member[-2] == 'Honer' -assert member[0:3] == ['Tom', 'Sunny', 'Honer'] - -member.remove('Sunny') -assert member == ['Tom', 'Honer', 'Lily'] -member.pop() -assert member == ['Tom', 'Honer'] -del member[0] -assert member == ['Honer'] -member.append('Jack') -assert member == ['Honer','Jack'] -member.extend(teacher) -assert member == ['Honer','Jack',1,2,3] -member.insert(1,'Tom') -assert member == ['Honer','Tom','Jack',1,2,3] -member.clear() -assert member == [] -member = teacher.copy() -assert member == [1,2,3] - -l = [] -l.insert(0, 'l') -l.insert(1, 'l') -l.insert(0, 'h') -l.insert(3, 'o') -l.insert(1, 'e') -assert l == ['h', 'e', 'l', 'l', 'o'] -assert l[-2] == 'l' - -############################################## -##tuple -############################################## - -tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin') -a,b = 1,2 -assert a == 1 -assert b == 2 -a,b = b,a -assert a == 2 -assert b == 1 -assert len(tup) == 6 - -############################################## -##dict -############################################## -emptyDict = dict() -assert len(emptyDict) == 0 -tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'} -assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7 -tinydict['Age'] = 8;tinydict['School'] = "aaa" -assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa" -del tinydict['Name'] -assert len(tinydict) == 3 -tinydict.clear() -assert len(tinydict) == 0 - -dict1 = {'user':'circle','num':[1,2,3]} -dict2 = dict1.copy() -for k,v in dict1.items(): - assert dict2[k] == v - -tinydict = {'Name': 'circle', 'Age': 7} -tinydict2 = {'Sex': 'female' } -tinydict.update(tinydict2) -updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'} -for k,v in tinydict.items(): - assert updated_dict[k] == v - -dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500} -keys = dishes.keys() -values = dishes.values() -assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam']) -assert sorted(values) == sorted([2, 1, 1, 500]) - -d={1:"a",2:"b",3:"c"} -result=[] -for kv in d.items(): - k = kv[0]; v=kv[1] - result.append(k) - result.append(v) -assert result == [1, 'a', 2, 'b', 3, 'c'] - -a = [1,2,3,-1] -assert sorted(a) == [-1,1,2,3] -assert sorted(a, reverse=True) == [3,2,1,-1] - -assert abs(0) == 0 -assert abs(1.0) == 1.0 -assert abs(-1.0) == 1.0 -assert abs(1) == 1 -assert abs(-1) == 1 - -assert any([1]) -assert any([1,False,True]) -assert not any([]) -assert not any([False]) - -assert all([]) -assert all([True]) -assert all([True, 1]) -assert not all([False]) -assert not all([True, False]) -assert not all([False, False]) - -assert list(enumerate([1,2,3])) == [(0,1), (1,2), (2,3)] -assert list(enumerate([1,2,3], 1)) == [(1,1), (2,2), (3,3)] \ No newline at end of file diff --git a/tests/errors/1.py b/tests/errors/1.py deleted file mode 100644 index d73c0113..00000000 --- a/tests/errors/1.py +++ /dev/null @@ -1,17 +0,0 @@ -def is_prime(x): - if x<2: - return False - - for i in range(2,x): - if x%i == 0: - return False1 - return True - -def test(n): - k = 0 - for i in range(n): - if is_prime(i): - k += 1 - return k - -print(test(100)) \ No newline at end of file diff --git a/tests/hidden/tvm.py b/tests/hidden/tvm.py deleted file mode 100644 index 1c2b8858..00000000 --- a/tests/hidden/tvm.py +++ /dev/null @@ -1,6 +0,0 @@ -print("Welcome to the Python world!") -a = input() -print("You entered: " + a) -b = input() -print("You entered: " + b) -print("END") \ No newline at end of file