| 87 | |
| 88 | |
| 89 | def test_array_map_of_opaque_object() -> None: |
| 90 | class MyObject: |
| 91 | def __init__(self, value: Any) -> None: |
| 92 | self.value = value |
| 93 | |
| 94 | a = tvm_ffi.convert([MyObject("hello"), MyObject(1)]) |
| 95 | assert isinstance(a, tvm_ffi.Array) |
| 96 | assert len(a) == 2 |
| 97 | assert isinstance(a[0], MyObject) |
| 98 | assert a[0].value == "hello" |
| 99 | assert isinstance(a[1], MyObject) |
| 100 | assert a[1].value == 1 |
| 101 | |
| 102 | y = tvm_ffi.convert({"a": MyObject(1), "b": MyObject("hello")}) |
| 103 | assert isinstance(y, tvm_ffi.Map) |
| 104 | assert len(y) == 2 |
| 105 | assert isinstance(y["a"], MyObject) |
| 106 | assert y["a"].value == 1 |
| 107 | assert isinstance(y["b"], MyObject) |
| 108 | assert y["b"].value == "hello" |
| 109 | |
| 110 | |
| 111 | def test_str_map() -> None: |