|
| 1 | +# TODO: RUSTPYTHON; Recursive aliasing is not allowed. This crashses the whole tests |
| 2 | +try: |
| 3 | + type RecursiveAlias = dict[str, RecursiveAlias] |
| 4 | +except: |
| 5 | + import unittest |
| 6 | + raise unittest.SkipTest("TODO: RUSTPYTHON; Recursive aliasing is not allowed. This crashses the whole tests") |
| 7 | +# END RUSTPYTHON |
| 8 | +# ---------------------------------------------------------------------------------------------- |
1 | 9 | import pickle |
2 | 10 | import textwrap |
3 | 11 | import types |
@@ -86,18 +94,19 @@ def test_alias_value_01(self): |
86 | 94 | self.assertEqual(TA2.__parameters__, ()) |
87 | 95 | self.assertEqual(TA2.__type_params__, ()) |
88 | 96 |
|
89 | | - def test_alias_value_02(self): |
90 | | - class Parent[A]: |
91 | | - type TA1[B] = dict[A, B] |
| 97 | + # TODO: RUSTPYTHON; If this is not commented out, then the tests will immediately fail |
| 98 | + # def test_alias_value_02(self): |
| 99 | + # class Parent[A]: |
| 100 | + # type TA1[B] = dict[A, B] |
92 | 101 |
|
93 | | - self.assertIsInstance(Parent.TA1, TypeAliasType) |
94 | | - self.assertEqual(len(Parent.TA1.__parameters__), 1) |
95 | | - self.assertEqual(len(Parent.__parameters__), 1) |
96 | | - a, = Parent.__parameters__ |
97 | | - b, = Parent.TA1.__parameters__ |
98 | | - self.assertEqual(Parent.__type_params__, (a,)) |
99 | | - self.assertEqual(Parent.TA1.__type_params__, (b,)) |
100 | | - self.assertEqual(Parent.TA1.__value__, dict[a, b]) |
| 102 | + # self.assertIsInstance(Parent.TA1, TypeAliasType) |
| 103 | + # self.assertEqual(len(Parent.TA1.__parameters__), 1) |
| 104 | + # self.assertEqual(len(Parent.__parameters__), 1) |
| 105 | + # a, = Parent.__parameters__ |
| 106 | + # b, = Parent.TA1.__parameters__ |
| 107 | + # self.assertEqual(Parent.__type_params__, (a,)) |
| 108 | + # self.assertEqual(Parent.TA1.__type_params__, (b,)) |
| 109 | + # self.assertEqual(Parent.TA1.__value__, dict[a, b]) |
101 | 110 |
|
102 | 111 | def test_alias_value_03(self): |
103 | 112 | def outer[A](): |
@@ -154,20 +163,21 @@ def test_repr(self): |
154 | 163 | self.assertEqual(repr(VeryGeneric[int, [VeryGeneric[int], list[str]]]), |
155 | 164 | "VeryGeneric[int, [VeryGeneric[int], list[str]]]") |
156 | 165 |
|
157 | | - def test_recursive_repr(self): |
158 | | - type Recursive = Recursive |
159 | | - self.assertEqual(repr(Recursive), "Recursive") |
160 | | - |
161 | | - type X = list[Y] |
162 | | - type Y = list[X] |
163 | | - self.assertEqual(repr(X), "X") |
164 | | - self.assertEqual(repr(Y), "Y") |
165 | | - |
166 | | - type GenericRecursive[X] = list[X | GenericRecursive[X]] |
167 | | - self.assertEqual(repr(GenericRecursive), "GenericRecursive") |
168 | | - self.assertEqual(repr(GenericRecursive[int]), "GenericRecursive[int]") |
169 | | - self.assertEqual(repr(GenericRecursive[GenericRecursive[int]]), |
170 | | - "GenericRecursive[GenericRecursive[int]]") |
| 166 | + # TODO: RUSTPYTHON; Likewise, for this: if this is not commented out, then the tests will immediately fail |
| 167 | + # def test_recursive_repr(self): |
| 168 | + # type Recursive = Recursive |
| 169 | + # self.assertEqual(repr(Recursive), "Recursive") |
| 170 | + |
| 171 | + # type X = list[Y] |
| 172 | + # type Y = list[X] |
| 173 | + # self.assertEqual(repr(X), "X") |
| 174 | + # self.assertEqual(repr(Y), "Y") |
| 175 | + |
| 176 | + # type GenericRecursive[X] = list[X | GenericRecursive[X]] |
| 177 | + # self.assertEqual(repr(GenericRecursive), "GenericRecursive") |
| 178 | + # self.assertEqual(repr(GenericRecursive[int]), "GenericRecursive[int]") |
| 179 | + # self.assertEqual(repr(GenericRecursive[GenericRecursive[int]]), |
| 180 | + # "GenericRecursive[GenericRecursive[int]]") |
171 | 181 |
|
172 | 182 | def test_raising(self): |
173 | 183 | type MissingName = list[_My_X] |
|
0 commit comments