| 123456789101112131415161718192021222324252627282930313233 |
- from __future__ import annotations
- import unittest
- from mypyc.ir.class_ir import ClassIR
- from mypyc.ir.rtypes import (
- RInstance,
- RTuple,
- RUnion,
- bool_rprimitive,
- int_rprimitive,
- list_rprimitive,
- object_rprimitive,
- )
- class TestTupleNames(unittest.TestCase):
- def setUp(self) -> None:
- self.inst_a = RInstance(ClassIR("A", "__main__"))
- self.inst_b = RInstance(ClassIR("B", "__main__"))
- def test_names(self) -> None:
- assert RTuple([int_rprimitive, int_rprimitive]).unique_id == "T2II"
- assert RTuple([list_rprimitive, object_rprimitive, self.inst_a]).unique_id == "T3OOO"
- assert RTuple([list_rprimitive, object_rprimitive, self.inst_b]).unique_id == "T3OOO"
- assert RTuple([]).unique_id == "T0"
- assert (
- RTuple([RTuple([]), RTuple([int_rprimitive, int_rprimitive])]).unique_id == "T2T0T2II"
- )
- assert (
- RTuple([bool_rprimitive, RUnion([bool_rprimitive, int_rprimitive])]).unique_id
- == "T2CO"
- )
|