def test_pack_booleans_list():
    assert ScriptDataStrictArray([True, False, True]) == BOOLEANS_LIST
def test_pack_mixed_list():
    assert ScriptDataStrictArray([1, "2", True]) == MIXED_LIST
def test_unpack_booleans_list(fd):
    assert ScriptDataStrictArray.read(fd) == [True, False, True]
    assert fd.tell() == BOOLEANS_LIST_SIZE
def test_size_numbers_list():
    assert ScriptDataStrictArray.size([1, 2, 3]) == NUMBERS_LIST_SIZE
def test_size_mixed_list():
    assert ScriptDataStrictArray.size([1, "2", True]) == MIXED_LIST_SIZE
def test_unpack_numbers_list(fd):
    assert ScriptDataStrictArray.read(fd) == [1, 2, 3]
    assert fd.tell() == NUMBERS_LIST_SIZE
def test_unpack_strings_list(fd):
    assert ScriptDataStrictArray.read(fd) == ["1", "2", "3"]
    assert fd.tell() == STRINGS_LIST_SIZE
def test_size_strings_list():
    assert ScriptDataStrictArray.size(["1", "2", "3"]) == STRINGS_LIST_SIZE
def test_unpack_empty_list(fd):
    assert ScriptDataStrictArray.read(fd) == []
    assert fd.tell() == EMPTY_LIST_SIZE
def test_unpack_numbers_list(fd):
    assert ScriptDataStrictArray.read(fd) == [1, 2, 3]
    assert fd.tell() == NUMBERS_LIST_SIZE
def test_size_mixed_list():
    assert ScriptDataStrictArray.size([1, "2", True]) == MIXED_LIST_SIZE
def test_size_booleans_list():
    assert ScriptDataStrictArray.size([True, False, True]) == BOOLEANS_LIST_SIZE
def test_size_strings_list():
    assert ScriptDataStrictArray.size(["1", "2", "3"]) == STRINGS_LIST_SIZE
def test_size_empty_list():
    assert ScriptDataStrictArray.size([]) == EMPTY_LIST_SIZE
def test_unpack_booleans_list(fd):
    assert ScriptDataStrictArray.read(fd) == [True, False, True]
    assert fd.tell() == BOOLEANS_LIST_SIZE
def test_size_numbers_list():
    assert ScriptDataStrictArray.size([1, 2, 3]) == NUMBERS_LIST_SIZE
def test_unpack_mixed_list(fd):
    assert ScriptDataStrictArray.read(fd) == [1, "2", True]
    assert fd.tell() == MIXED_LIST_SIZE
def test_size_booleans_list():
    assert ScriptDataStrictArray.size([True, False,
                                       True]) == BOOLEANS_LIST_SIZE
def test_pack_empty_list():
    assert ScriptDataStrictArray([]) == EMPTY_LIST
def test_unpack_empty_list(fd):
    assert ScriptDataStrictArray.read(fd) == []
    assert fd.tell() == EMPTY_LIST_SIZE
def test_pack_numbers_list():
    assert ScriptDataStrictArray([1, 2, 3]) == NUMBERS_LIST
def test_unpack_strings_list(fd):
    assert ScriptDataStrictArray.read(fd) == ["1", "2", "3"]
    assert fd.tell() == STRINGS_LIST_SIZE
def test_pack_strings_list():
    assert ScriptDataStrictArray(["1", "2", "3"]) == STRINGS_LIST
def test_unpack_mixed_list(fd):
    assert ScriptDataStrictArray.read(fd) == [1, "2", True]
    assert fd.tell() == MIXED_LIST_SIZE
def test_size_empty_list():
    assert ScriptDataStrictArray.size([]) == EMPTY_LIST_SIZE