-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
/
Copy pathtest_tuplename.py
33 lines (28 loc) · 1.02 KB
/
test_tuplename.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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"
)