def test_pack_into_mixed_array():
    obj = create_mixed_array()
    size = ScriptDataECMAArray.size(obj)
    buf = bytearray(size)
    offset = 0

    assert ScriptDataECMAArray.pack_into(buf, offset, obj) == MIXED_VALUES_SIZE
def test_size_mixed_array():
    obj = create_mixed_array()

    assert ScriptDataECMAArray.size(obj) == MIXED_VALUES_SIZE
def test_size_booleans_array():
    assert ScriptDataECMAArray.size(ScriptDataECMAArray(foo=True)) == BOOLEAN_VALUE_SIZE
def test_size_strings_array():
    assert ScriptDataECMAArray.size(ScriptDataECMAArray(foo="bar")) == STRING_VALUE_SIZE
def test_size_numbers_array():
    assert ScriptDataECMAArray.size(ScriptDataECMAArray(foo=123)) == NUMBER_VALUE_SIZE
def test_size_empty_array():
    assert ScriptDataECMAArray.size(ScriptDataECMAArray()) == EMPTY_ARRAY_SIZE