import pytest from phasm.type3.entry import Type3Exception from ..helpers import Suite @pytest.mark.integration_test def test_static_array_constant_too_few_values(): code_py = """ CONSTANT: u8[4] = (24, 57, ) @exported def testEntry() -> i32: return 0 """ with pytest.raises(Type3Exception, match='Member count mismatch'): Suite(code_py).run_code() @pytest.mark.integration_test def test_static_array_constant_too_many_values(): code_py = """ CONSTANT: u8[3] = (24, 57, 1, 1, ) @exported def testEntry() -> i32: return 0 """ with pytest.raises(Type3Exception, match='Member count mismatch'): Suite(code_py).run_code() @pytest.mark.integration_test def test_static_array_export_constant(): code_py = """ CONSTANT: u8[3] = (1, 2, 3, ) @exported def testEntry() -> u8[3]: return CONSTANT """ result = Suite(code_py).run_code() assert (1, 2, 3) == result.returned_value @pytest.mark.integration_test def test_static_array_export_instantiation(): code_py = """ @exported def testEntry() -> u8[3]: return (1, 2, 3, ) """ result = Suite(code_py).run_code() assert (1, 2, 3) == result.returned_value