Weifeng Li

76 papers A 1B 1C 3Misc 1Journal 51Unranked 19
YearRankTypeTitle / Venue / Authors
2026 J jnl
Briefings Bioinform.
Zhihao Wang, Sheng Wang, Jingjing Guo, Yuguang Mu, Xiangdong Liu, Liangzhen Zheng, Weifeng Li
2026 J jnl
Comput. Ind. Eng.
Wentao Zhan, Xuchuan Yuan, Jida Liu, Xue Bai, Jiashen Li, Weifeng Li, Chencan Lin
2025 J jnl
Adv. Eng. Informatics
Shuo Jiang, Weifeng Li, Yuping Qian, Yangjun Zhang, Jianxi Luo
2025 J jnl
J. Chem. Inf. Model.
Minghui Xin, Zechen Wang, Zhihao Wang, Yuanyuan Qu, Yanmei Yang, Yong-Qiang Li, Ming-Wen Zhao, Liangzhen Zheng, Yuguang Mu, Weifeng Li
2025 J jnl
Signal Image Video Process.
Weifeng Li, Bin Ge, Chenxing Xia, Menglin Ma, Xiyun Huang
2025 J jnl
BMC Medical Imaging
Huanjie Lin, Yubiao Yue, Li Xie, Bingbing Chen, Weifeng Li, Fan Yang, Qinrong Zhang, Huai Chen
2025 J jnl
IEEE Trans. Geosci. Remote. Sens.
Yejian Zhou, Guolin Ma, Weifeng Li, Shaopeng Wei, Chengzeng Chen, Wen-An Zhang
2025 J jnl
IEEE Trans. Instrum. Meas.
Yejian Zhou, Weifeng Li, Shaopeng Wei, Guanyong Wang, Wen-An Zhang
2024 J jnl
Knowl. Based Syst.
Weifeng Li, Bin Li, Zhenrong Wang, Chaochao Qiu, Shuanlong Niu, Xin Tan, Tongzhi Niu
2024 J jnl
Briefings Bioinform.
Zechen Wang, Sheng Wang, Yangyang Li, Jingjing Guo, Yanjie Wei, Yuguang Mu, Liangzhen Zheng, Weifeng Li
2024 J jnl
J. Intell. Manuf.
Shuanlong Niu, Yaru Peng, Bin Li, Yuanhong Qiu, Tongzhi Niu, Weifeng Li
2024 J jnl
CoRR
Jian Li, Tian Gan, Weifeng Li, Yuhang Liu
2024 conf
IEEM
Zhenrong Wang, Weifeng Li, Jinghao Xie, Bin Li
2024 conf
EMBC
Pengyan Tao, Chien-Hung Yeh, Weifeng Li, Kaiwen Xu, Wenbin Shi
2024 J jnl
J. Chem. Inf. Model.
Zhihao Wang, Fan Zhou, Zechen Wang, Qiuyue Hu, Yong-Qiang Li, Sheng Wang, Yanjie Wei, Liangzhen Zheng, Weifeng Li, Xiangda Peng
2024 conf
IEEM
Weifeng Li, Zhenrong Wang, Bin Li
2024 J jnl
CoRR
Pengfei Xu, Weifeng Li, Chenjie Xu, Jian Li
2024 J jnl
Appl. Soft Comput.
Tongzhi Niu, Zhenrong Wang, Weifeng Li, Kai Li, Yuwei Li, Guiyin Xu, Bin Li
2024 J jnl
Adv. Eng. Informatics
Zhenrong Wang, Bin Li, Weifeng Li, Shuanlong Niu, Miao Wang, Tongzhi Niu
2024 J jnl
Bioinform.
Qiuyue Hu, Zechen Wang, Jintao Meng, Weifeng Li, Jingjing Guo, Yuguang Mu, Sheng Wang, Liangzhen Zheng, Yanjie Wei
2024 J jnl
Expert Syst. Appl.
Xing Jiang, Ming Zhong, Jiahui Shi, Weifeng Li
2024 conf
HICSS
Aaron Schecter, Weifeng Li
2024 J jnl
Kybernetes
Weifeng Li, Minghui Jiang, Wentao Zhan
2024 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Jiaxi Liu, Jinghao Niu, Weifeng Li, Xin Li, Binbin He, Hao Zhou, Yanjuan Liu, Ding Li, Bo Wang, Wensheng Zhang
2023 J jnl
Briefings Bioinform.
Zechen Wang, Liangzhen Zheng, Sheng Wang, Mingzhi Lin, Zhihao Wang, Adams Wai-Kin Kong, Yuguang Mu, Yanjie Wei, Weifeng Li
2023 J jnl
Nat. Mac. Intell.
Hilbert Yuen In Lam, Robbe Pincket, Hao Han, Xing Er Ong, Zechen Wang, Jamie Hinks, Yanjie Wei, Weifeng Li, Liangzhen Zheng, Yuguang Mu
2023 J jnl
Comput. Biol. Medicine
Jun Zhang, Jingyue Wu, Yiyi Qiu, Aiguo Song, Weifeng Li, Xin Li, Yecheng Liu
2023 J jnl
CoRR
Tongzhi Niu, Bin Li, Kai Li, Yufeng Lin, Yuwei Li, Weifeng Li, Zhenrong Wang
2023 J jnl
CoRR
Zhenrong Wang, Bin Li, Weifeng Li, Shuanlong Niu, Wang Miao, Tongzhi Niu
2023 J jnl
Adv. Eng. Informatics
Weifeng Li, Bin Li, Shuanlong Niu, Zhenrong Wang, Baohui Liu, Tongzhi Niu
2023 J jnl
Theor. Comput. Sci.
Weifeng Li, Longxin Lin, Zhen Zhang, Shuqiang Huang
2023 J jnl
Eur. J. Oper. Res.
Cuihua Zhou, Yifei Hao, Yanfei Lan, Weifeng Li
2023 J jnl
Trans. GIS
Lyuchao Liao, Yuyuan Lin, Weifeng Li, Fumin Zou, Linsen Luo
2023 J jnl
Comput. Ind. Eng.
Xing Jiang, Ming Zhong, Guoyou Shi, Weifeng Li, Yi Sui
2022 J jnl
IEEE Geosci. Remote. Sens. Lett.
Yejian Zhou, Weifeng Li, Yan Ma, Bingning Li, Zhenyu Wen, Lei Zhang
2022 J jnl
Sensors
Yuanqiang Zhang, Weifeng Li
2022 conf
ICARM
Yuwei Zhang, Jun Zhang, Yi Xiao, Ning Zhao, Jingyu Wu, Hao Wu, Weifeng Li, Xin Li, Ming Ma, Aiguo Song
2022 C conf
ICIS
Panda Kumar Sachin, Aaron Schecter, Weifeng Li
2022 J jnl
Briefings Bioinform.
Liangzhen Zheng, Jintao Meng, Kai Jiang, Haidong Lan, Zechen Wang, Mingzhi Lin, Weifeng Li, Hongwei Guo, Yanjie Wei, Yuguang Mu
2022 J jnl
Symmetry
Yuanhong Qiu, Shuanlong Niu, Tongzhi Niu, Weifeng Li, Bin Li
2022 J jnl
Syst.
Weifeng Li, Minghui Jiang, Wentao Zhan
2022 J jnl
J. Theor. Appl. Electron. Commer. Res.
Weifeng Li, Minghui Jiang, Wentao Zhan
2021 conf
ICSS
Cheng Pan, Hanchuan Xu, Weifeng Li, Zhiying Tu, Xiaofei Xu, Zhongjie Wang
2020 J jnl
Future Gener. Comput. Syst.
Guangxia Xu, Weifeng Li, Jun Liu
2020 J jnl
Int. J. Simul. Process. Model.
Yuanqiang Zhang, Guoyou Shi, Hu Liu, Weifeng Li
2020 C conf
ICIS
Wei Chen, Weifeng Li, Karen Xie
2020 J jnl
Remote. Sens.
Yuguo Qian, Weiqi Zhou, Wenjuan Yu, Lijian Han, Weifeng Li, Wenhui Zhao
2020 J jnl
ISPRS Int. J. Geo Inf.
Tian Gan, Weifeng Li, Linghui He, Jian Li
2020 J jnl
Int. J. Simul. Process. Model.
Weifeng Li, Jiaxuan Yang, Xiaori Gao, Jiagen Yu
2020 B conf
SERVICES
Chao Ma, Weidong Liu, Weifeng Li, Cheng Pan, Zhiying Tu, Zhongjie Wang
2019 conf
ITSC
Chen Qian, Weifeng Li, Dongyuan Yang, Bin Ran, Feng Li
2019 J jnl
IEEE Access
Weizhong Qiang, Weifeng Li, Hai Jin, Jayachander Surbiryala
2019 J jnl
J. Chem. Inf. Model.
Yang Liu, Weifeng Li, Mary B. Chan-Park, Yuguang Mu
2017 conf
ACISP (2)
Weizhong Qiang, Jiazhen Guo, Hai Jin, Weifeng Li
2017 conf
VTC Spring
Weifeng Li, Mengqi Zhang, Bo Bai
2017 J jnl
Remote. Sens.
Kun Wang, Weiqi Zhou, Kaipeng Xu, Hanmei Liang, Wenjuan Yu, Weifeng Li
2016 Misc conf
ICMLC
Weifeng Li, Xutao Li, Yunming Ye, Yan Li, Eric Ke Wang
2016 J jnl
NeuroImage
Zhiqiang Guo, Xiyan Huang, Meng Wang, Jeffery A. Jones, Zhengjia Dai, Weifeng Li, Peng Liu, Hanjun Liu
2016 conf
WI Workshops
Zheng Wang, Lijun Zhu, Shuo Xu, Ning Zhang, Yingying Yan, Weifeng Li
2015 J jnl
Remote. Sens.
Yuguo Qian, Weiqi Zhou, Jingli Yan, Weifeng Li, Lijian Han
2014 J jnl
Comput. Intell. Neurosci.
Weifeng Li, Xiaoyun Cheng, Zhengyu Duan, Dongyuan Yang, Gaohua Guo
2014 conf
ISCSLP
Yuan Ma, Jianwu Dang, Weifeng Li
2014 J jnl
IEICE Trans. Inf. Syst.
Liming Zhang, Defu Zhang, Weifeng Li
2014 conf
ICA3PP (2)
Weifeng Li, Wenyao Ma, Jiaxuan Yang, Guoyou Shi, Robert Desrosiers
2014 conf
ICA3PP (2)
Wenyao Ma, Zhaolin Wu, Jiaxuan Yang, Weifeng Li
2013 J jnl
Int. J. Bifurc. Chaos
Tian-Liang Yao, Hai-Feng Liu, Jian-Liang Xu, Weifeng Li
2013 conf
NEMS
Kun Lian, Yadong Qi, Qinglin Wu, Xiaopeng Wang, Weifeng Li
2013 conf
MUSIC
Haodong Zhang, Lijun Zhu, Shuo Xu, Weifeng Li
2012 conf
AsiaSim (1)
Weifeng Li, Shuli Wang, Xinjun Zhao, Jiying Wang
2011 C conf
MMSP
Weifeng Li, Marc-Antoine Nüssli, Patrick Jermann
2011 J jnl
J. Networks
Keshou Wu, Lizhao Liu, Jian Liu, Weifeng Li, Gang Xie, Xiaona Tong, Yun Lin
2010 conf
ICMI-MLMI
Weifeng Li, Marc-Antoine Nüssli, Patrick Jermann
2010 conf
BCS HCI
Patrick Jermann, Marc-Antoine Nüssli, Weifeng Li
2008 A conf
ICME
Weifeng Li
2006 J jnl
Int. J. Unconv. Comput.
Lin Gao, Wenbin Liu, Weifeng Li, David K. Y. Chiu
2000 conf
ISMSE
Weifeng Li, Baowen Xu, Hongji Yang, William Cheng-Chung Chu, Chih-Wei Lu
tests/unit/test_macho_dataclasses.py
← Index tests/unit/test_macho_dataclasses.py python
"""
Unit tests for Mach-O dataclasses.
"""
import pytest
from typing import List, Dict, Optional

pytestmark = [pytest.mark.unit, pytest.mark.dataclass, pytest.mark.macho]


class TestMachODataclass:
    """Tests for MachO dataclass."""

    def test_macho_required_fields(self):
        """Test MachO dataclass with required fields."""
        from redb.models.dataclasses import MachO

        macho = MachO(
            magic=0xFEEDFACF,
            cputype=0x01000007,
            cpusubtype=0x00000003,
            filetype=2,
            ncmds=15,
            sizeofcmds=1024,
            flags=0x00200085,
            architecture=0x01000007,
            architectures=[0x01000007],
            magic_str="MH_MAGIC_64",
            cputype_str="CPU_TYPE_X86_64",
            cpusubtype_str="CPU_SUBTYPE_X86_64_ALL",
            filetype_str="MH_EXECUTE",
            flags_str=["MH_NOUNDEFS", "MH_DYLDLINK", "MH_TWOLEVEL", "MH_PIE"],
            architecture_str="x86_64",
            architectures_str=["x86_64"],
            is_64bit=True,
            is_signed=True
        )

        assert macho.magic == 0xFEEDFACF
        assert macho.cputype == 0x01000007
        assert macho.is_64bit is True
        assert macho.is_signed is True
        assert macho.magic_str == "MH_MAGIC_64"
        assert macho.filetype_str == "MH_EXECUTE"

    def test_macho_optional_fields_defaults(self):
        """Test MachO dataclass optional fields default to correct values."""
        from redb.models.dataclasses import MachO

        macho = MachO(
            magic=0xFEEDFACF,
            cputype=0x01000007,
            cpusubtype=0x00000003,
            filetype=2,
            ncmds=15,
            sizeofcmds=1024,
            flags=0x00200085,
            architecture=0x01000007,
            architectures=[0x01000007],
            magic_str="MH_MAGIC_64",
            cputype_str="CPU_TYPE_X86_64",
            cpusubtype_str="CPU_SUBTYPE_X86_64_ALL",
            filetype_str="MH_EXECUTE",
            flags_str=["MH_NOUNDEFS"],
            architecture_str="x86_64",
            architectures_str=["x86_64"],
            is_64bit=True,
            is_signed=False
        )

        assert macho.number_of_load_commands == 0
        assert macho.load_commands_set is None
        assert macho.number_of_segments == 0
        assert macho.number_of_dylibs == 0
        assert macho.number_of_imports == 0
        assert macho.number_of_exports == 0
        assert macho.entry_point is None
        assert macho.uuid is None
        assert macho.version_info is None
        assert macho.version_info_str is None

    def test_macho_with_all_fields(self):
        """Test MachO dataclass with all fields populated."""
        from redb.models.dataclasses import MachO

        macho = MachO(
            magic=0xFEEDFACF,
            cputype=0x01000007,
            cpusubtype=0x00000003,
            filetype=2,
            ncmds=15,
            sizeofcmds=1024,
            flags=0x00200085,
            architecture=0x01000007,
            architectures=[0x01000007],
            magic_str="MH_MAGIC_64",
            cputype_str="CPU_TYPE_X86_64",
            cpusubtype_str="CPU_SUBTYPE_X86_64_ALL",
            filetype_str="MH_EXECUTE",
            flags_str=["MH_PIE"],
            architecture_str="x86_64",
            architectures_str=["x86_64"],
            is_64bit=True,
            is_signed=True,
            number_of_load_commands=15,
            load_commands_set=["LC_SEGMENT_64", "LC_DYLD_INFO_ONLY"],
            number_of_segments=4,
            number_of_dylibs=5,
            number_of_imports=100,
            number_of_exports=10,
            entry_point=0x100001234,
            uuid="12345678-1234-1234-1234-123456789012",
            version_info={"min_os": "10.15"},
            version_info_str={"min_os": "macOS 10.15"}
        )

        assert macho.number_of_load_commands == 15
        assert macho.uuid == "12345678-1234-1234-1234-123456789012"
        assert macho.entry_point == 0x100001234


class TestMachOSegmentDataclass:
    """Tests for MachOSegment dataclass."""

    def test_segment_creation(self):
        """Test MachOSegment dataclass creation."""
        from redb.models.dataclasses import MachOSegment

        segment = MachOSegment(
            segment_name="__TEXT",
            segment_vaddr=0x100000000,
            segment_vsize=0x1000,
            segment_offset=0,
            segment_size=0x1000,
            segment_max_vm_protection=7,
            segment_initial_vm_protection=5,
            segment_nsects=4,
            segment_flags=0,
            segment_entropy=6.5,
            segment_sha256="abc123def456789012345678901234567890123456789012345678901234"
        )

        assert segment.segment_name == "__TEXT"
        assert segment.segment_vaddr == 0x100000000
        assert segment.segment_entropy == 6.5


class TestMachOImportDataclass:
    """Tests for MachOImport dataclass."""

    def test_import_creation(self):
        """Test MachOImport dataclass creation."""
        from redb.models.dataclasses import MachOImport

        import_info = MachOImport(
            macho_imports_total=50,
            macho_import_libraryName=["libSystem.B.dylib", "CoreFoundation"],
            macho_import_functions=["_printf", "_malloc", "_free"]
        )

        assert import_info.macho_imports_total == 50
        assert len(import_info.macho_import_libraryName) == 2
        assert "_printf" in import_info.macho_import_functions

    def test_import_optional_fields(self):
        """Test MachOImport with optional fields as None."""
        from redb.models.dataclasses import MachOImport

        import_info = MachOImport(macho_imports_total=0)

        assert import_info.macho_imports_total == 0
        assert import_info.macho_import_libraryName is None
        assert import_info.macho_import_functions is None


class TestMachOExportDataclass:
    """Tests for MachOExport dataclass."""

    def test_export_creation(self):
        """Test MachOExport dataclass creation."""
        from redb.models.dataclasses import MachOExport

        export_info = MachOExport(
            macho_exports_total=10,
            macho_export_symbols=["_main", "_helper_func"]
        )

        assert export_info.macho_exports_total == 10
        assert "_main" in export_info.macho_export_symbols


class TestMachODylibDataclass:
    """Tests for MachODylib dataclass."""

    def test_dylib_creation(self):
        """Test MachODylib dataclass creation."""
        from redb.models.dataclasses import MachODylib

        dylib = MachODylib(
            dylib_name="/usr/lib/libSystem.B.dylib",
            dylib_timestamp=2,
            dylib_current_version=0x04E10200,
            dylib_compat_version=0x00010000
        )

        assert dylib.dylib_name == "/usr/lib/libSystem.B.dylib"
        assert dylib.dylib_timestamp == 2


class TestMachOLoadCommandDataclass:
    """Tests for MachOLoadCommand dataclass."""

    def test_load_command_creation(self):
        """Test MachOLoadCommand dataclass creation."""
        from redb.models.dataclasses import MachOLoadCommand

        lc = MachOLoadCommand(
            load_command=0x19,
            load_command_str="LC_SEGMENT_64",
            load_command_size=72
        )

        assert lc.load_command == 0x19
        assert lc.load_command_str == "LC_SEGMENT_64"
        assert lc.load_command_size == 72


class TestMachOUniversalDataclass:
    """Tests for MachOUniversal dataclass."""

    def test_universal_fat_binary(self):
        """Test MachOUniversal for FAT binary."""
        from redb.models.dataclasses import MachOUniversal

        universal = MachOUniversal(
            is_fat=True,
            architecture_count=2,
            architectures=["x86_64", "arm64"],
            architecture_info=[
                {"arch": "x86_64", "offset": 0x1000},
                {"arch": "arm64", "offset": 0x10000}
            ],
            fat_hash="abc123def456789012345678901234567890123456789012345678901234",
            fat_md5="abc123def456789012345678901234",
            fat_sha1="abc123def456789012345678901234567890"
        )

        assert universal.is_fat is True
        assert universal.architecture_count == 2
        assert "x86_64" in universal.architectures
        assert "arm64" in universal.architectures

    def test_universal_single_arch(self):
        """Test MachOUniversal for single-architecture binary."""
        from redb.models.dataclasses import MachOUniversal

        universal = MachOUniversal(
            is_fat=False,
            architecture_count=1,
            architectures=["arm64"],
            architecture_info=[{"arch": "arm64", "offset": 0}]
        )

        assert universal.is_fat is False
        assert universal.architecture_count == 1
        assert universal.fat_hash is None


class TestMachOCertificateDataclass:
    """Tests for MachOCertificate dataclass."""

    def test_certificate_creation(self):
        """Test MachOCertificate dataclass creation."""
        from redb.models.dataclasses import MachOCertificate

        cert = MachOCertificate(
            subject="CN=Apple Development",
            issuer="CN=Apple Worldwide Developer Relations",
            serial_number="123456789",
            not_before="2023-01-01T00:00:00Z",
            not_after="2024-01-01T00:00:00Z",
            thumbprint="abc123def456789012345678901234567890",
            certificate_type="leaf",
            order=0,
            algorithm="sha256WithRSAEncryption",
            common_name="Apple Development",
            organizational_unit="Development",
            organization="Apple Inc."
        )

        assert cert.subject == "CN=Apple Development"
        assert cert.certificate_type == "leaf"
        assert cert.order == 0


class TestMachOCodeDirectoryDataclass:
    """Tests for MachOCodeDirectory dataclass."""

    def test_code_directory_creation(self):
        """Test MachOCodeDirectory dataclass creation."""
        from redb.models.dataclasses import MachOCodeDirectory

        cd = MachOCodeDirectory(
            identifier="com.example.app",
            team_id="ABC123DEF",
            flags=0x10000,
            cd_hash="abc123def456789012345678901234567890123456789012345678901234"
        )

        assert cd.identifier == "com.example.app"
        assert cd.team_id == "ABC123DEF"
        assert cd.flags == 0x10000


class TestMachOCodeSigningInfoDataclass:
    """Tests for MachOCodeSigningInfo dataclass."""

    def test_code_signing_info_unsigned(self):
        """Test MachOCodeSigningInfo for unsigned binary."""
        from redb.models.dataclasses import MachOCodeSigningInfo

        info = MachOCodeSigningInfo(
            _id="abc123def456789012345678901234567890123456789012345678901234",
            signing_type="unsigned",
            has_signature=False,
            number_of_certificates=0
        )

        assert info.signing_type == "unsigned"
        assert info.has_signature is False
        assert info.number_of_certificates == 0

    def test_code_signing_info_signed(self):
        """Test MachOCodeSigningInfo for signed binary."""
        from redb.models.dataclasses import MachOCodeSigningInfo, MachOCodeDirectory

        cd = MachOCodeDirectory(
            identifier="com.example.app",
            team_id="ABC123DEF"
        )

        info = MachOCodeSigningInfo(
            _id="abc123def456789012345678901234567890123456789012345678901234",
            signing_type="certificate",
            has_signature=True,
            number_of_certificates=3,
            code_directories=[cd],
            entitlements={"com.apple.security.app-sandbox": True},
            has_hardened_runtime=True,
            has_library_validation=True
        )

        assert info.signing_type == "certificate"
        assert info.has_signature is True
        assert info.number_of_certificates == 3
        assert info.has_hardened_runtime is True

    def test_code_signing_info_adhoc(self):
        """Test MachOCodeSigningInfo for ad-hoc signed binary."""
        from redb.models.dataclasses import MachOCodeSigningInfo

        info = MachOCodeSigningInfo(
            _id="abc123def456789012345678901234567890123456789012345678901234",
            signing_type="ad-hoc",
            has_signature=True,
            number_of_certificates=0,
            arch_identifier="x86_64"
        )

        assert info.signing_type == "ad-hoc"
        assert info.number_of_certificates == 0
        assert info.arch_identifier == "x86_64"


class TestMachOEntitlementDataclass:
    """Tests for MachOEntitlement dataclass."""

    def test_entitlement_boolean(self):
        """Test MachOEntitlement with boolean value."""
        from redb.models.dataclasses import MachOEntitlement

        ent = MachOEntitlement(
            key="com.apple.security.app-sandbox",
            value_type="boolean",
            value_bool=True
        )

        assert ent.key == "com.apple.security.app-sandbox"
        assert ent.value_type == "boolean"
        assert ent.value_bool is True

    def test_entitlement_string(self):
        """Test MachOEntitlement with string value."""
        from redb.models.dataclasses import MachOEntitlement

        ent = MachOEntitlement(
            key="com.apple.developer.team-identifier",
            value_type="string",
            value_string="ABC123DEF"
        )

        assert ent.key == "com.apple.developer.team-identifier"
        assert ent.value_type == "string"
        assert ent.value_string == "ABC123DEF"

    def test_entitlement_array(self):
        """Test MachOEntitlement with array value."""
        from redb.models.dataclasses import MachOEntitlement

        ent = MachOEntitlement(
            key="com.apple.security.application-groups",
            value_type="array",
            value_array=["group.com.example.app", "group.com.example.shared"]
        )

        assert ent.key == "com.apple.security.application-groups"
        assert ent.value_type == "array"
        assert len(ent.value_array) == 2