def test_for_in_list(self): code = "for i in [1, 2]: print(i)" assert compare_outputs(code)
def test_print_with_invalid_kwarg(self): code = "print(alabab='alabab')" assert compare_outputs(code)
def test_print_int(self): code = "print(1)" assert compare_outputs(code)
def test_print_two_args(self): code = "print('Hello,', 'world!')" assert compare_outputs(code)
def test_print_with_kwarg(self): code = "print('hello ', end='world')" assert compare_outputs(code)
def test_function_arguments_optional4(self): code = "def f(x=1, y=2, z=3):\n\treturn z + x ** y\n\nprint(f(z=126))" assert compare_outputs(code)
def test_function_one_argument(self): code = "def f(x):\n\treturn x ** 2\n\nprint(f(5))" assert compare_outputs(code)
def test_while_break(self): code = "i = 0\nwhile True:\n\tprint(i)\n\ti += 1\n\tif i >= 5: break" assert compare_outputs(code)
def test_for_continue(self): code = "for i in range(10):\n\tif i % 2 == 1: print(i)\n\telse: print(i % 2)" assert compare_outputs(code)
def test_double_for(self): code = "for i in range(8):\n\tfor j in range(9):\n\t\tprint(i * j)" assert compare_outputs(code)
def test_while(self): code = "i = 0\nwhile i < 10:\n\tprint(i)\n\ti += 1" assert compare_outputs(code)
def test_for_i_sum(self): code = "sum_= 0\nfor i in range(5):\n\tprint(i)\n\tsum_ += i\nprint(sum_, i)" assert compare_outputs(code)
def test_if_true(self): code = "x = True\nif x: print(1)" assert compare_outputs(code)
def test_for_in_tuple(self): code = "for i in (1, 2, 5): print(i)" assert compare_outputs(code)
def test_custom_print_function(self): code = "def f():\n\tprint(256)\n\nf()" assert compare_outputs(code)
def test_if_false_else(self): code = "x = False\nif x: print(1)\nelse: print(2)" assert compare_outputs(code)
def test_function_arguments_optional3(self): code = "def f(x, y=5, z=10):\n\treturn z + x ** y\n\nprint(f(3) * f(2, 3) / f(1) / f(1, 2, 5))" assert compare_outputs(code)
def test_function_two_arguments(self): code = "def mul_(x, y):\n\treturn x * y\n\nprint(mul_(5, 6))" assert compare_outputs(code)
def test_two_functions(self): code = "def range_(to, from_=0, step=1):\n" \ "\treturn range(from_, to, step)\n\n" \ "def sum_(args):\n\treturn sum(list(args))\n\n" \ "print(sum_(range_(20)) + sum_(range_(2, 23, 2)))" assert compare_outputs(code)
def test_function_two_arguments2(self): code = "def pow_(x, y):\n\treturn y ** x\n\nprint(pow_(5, 6))" assert compare_outputs(code)
def test_print_str(self): code = "print('Hello, world!')" assert compare_outputs(code)
def test_function_two_arguments4(self): code = "def f(x, y):\n\treturn x ** x / y ** x\n\nprint(f(3, 5), f(4, 6))" assert compare_outputs(code)
def test_print_three_args(self): code = "print('hello', 1, 3.14)" assert compare_outputs(code)
def test_function_two_arguments5(self): code = "def f(x, y):\n\treturn x ** x / y ** x\n\nprint(f(x=3, y=5), f(y=4, x=6))" assert compare_outputs(code)
def test_print_with_multiple_kwargs(self): code = "print('hello,', 'my dear ', sep='\t', end='world')" assert compare_outputs(code)
def test_function_second_argument_optional(self): code = "def f(x, y=5):\n\treturn x * x / (y % x)\n\nprint(f(4))" assert compare_outputs(code)
def test_double_print(self): code = """print(1); print(2)""" assert compare_outputs(code)
def test_function_arguments_optional(self): code = "def f(x, y=5, z=10):\n\treturn z + x ** y\n\nprint(f(3, 4))" assert compare_outputs(code)
def test_print_float(self): code = "print(3.14)" assert compare_outputs(code)
def test_double_if4(self): code = "t, f = True, False\nif f: print(1)\nelse:\n\tif f: print(2)\n\telse: print(3)" assert compare_outputs(code)