import pytest from .helpers import Suite @pytest.mark.integration_test def test_i32_asis(): code_py = """ CONSTANT: i32 = 13 @exported def testEntry() -> i32: return CONSTANT """ result = Suite(code_py).run_code() assert 13 == result.returned_value @pytest.mark.integration_test def test_i32_binop(): code_py = """ CONSTANT: i32 = 13 @exported def testEntry() -> i32: return CONSTANT * 5 """ result = Suite(code_py).run_code() assert 65 == result.returned_value @pytest.mark.integration_test @pytest.mark.parametrize('type_', ['u8', 'u32', 'u64', ]) def test_tuple_1(type_): code_py = f""" CONSTANT: ({type_}, ) = (65, ) @exported def testEntry() -> {type_}: return helper(CONSTANT) def helper(vector: ({type_}, )) -> {type_}: return vector[0] """ result = Suite(code_py).run_code() assert 65 == result.returned_value @pytest.mark.integration_test def test_tuple_6(): code_py = """ CONSTANT: (u8, u8, u32, u32, u64, u64, ) = (11, 22, 3333, 4444, 555555, 666666, ) @exported def testEntry() -> u32: return helper(CONSTANT) def helper(vector: (u8, u8, u32, u32, u64, u64, )) -> u32: return vector[2] """ result = Suite(code_py).run_code() assert 3333 == result.returned_value @pytest.mark.integration_test @pytest.mark.parametrize('type_', ['u8', 'u32', 'u64', ]) def test_static_array_1(type_): code_py = f""" CONSTANT: {type_}[1] = (65, ) @exported def testEntry() -> {type_}: return helper(CONSTANT) def helper(vector: {type_}[1]) -> {type_}: return vector[0] """ result = Suite(code_py).run_code() assert 65 == result.returned_value @pytest.mark.integration_test def test_static_array_6(): code_py = """ CONSTANT: u32[6] = (11, 22, 3333, 4444, 555555, 666666, ) @exported def testEntry() -> u32: return helper(CONSTANT) def helper(vector: u32[6]) -> u32: return vector[2] """ result = Suite(code_py).run_code() assert 3333 == result.returned_value