3131 GetSpecialAttr ,
3232 GetType ,
3333 GetAnnotations ,
34+ IsSubtype ,
3435 IsSub ,
3536 Iter ,
3637 Length ,
@@ -1337,7 +1338,7 @@ def test_eval_bool_05():
13371338 assert d == Literal [False ]
13381339
13391340
1340- def test_eval_literal_generic_01 ():
1341+ def test_eval_bool_literal_01 ():
13411342 d = eval_typing (_BoolLiteral [True ])
13421343 assert d == _BoolLiteral [True ]
13431344 d = eval_typing (_BoolLiteral [False ])
@@ -1352,7 +1353,7 @@ def test_eval_literal_generic_01():
13521353 assert d == _BoolLiteral [False ]
13531354
13541355
1355- def test_eval_literal_generic_02 ():
1356+ def test_eval_bool_literal_02 ():
13561357 d = eval_typing (not _BoolLiteral [True ])
13571358 assert d == _BoolLiteral [False ]
13581359
@@ -1362,7 +1363,7 @@ def test_eval_literal_generic_02():
13621363 assert d == _BoolLiteral [True ]
13631364
13641365
1365- def test_eval_literal_generic_03 ():
1366+ def test_eval_bool_literal_03 ():
13661367 d = eval_typing (AndLiteralGeneric [_BoolLiteral [True ], _BoolLiteral [True ]])
13671368 assert d == _BoolLiteral [True ]
13681369 d = eval_typing (AndLiteralGeneric [_BoolLiteral [True ], _BoolLiteral [False ]])
@@ -1373,7 +1374,7 @@ def test_eval_literal_generic_03():
13731374 assert d == _BoolLiteral [False ]
13741375
13751376
1376- def test_eval_literal_generic_04 ():
1377+ def test_eval_bool_literal_04 ():
13771378 d = eval_typing (OrLiteralGeneric [_BoolLiteral [True ], _BoolLiteral [True ]])
13781379 assert d == _BoolLiteral [True ]
13791380 d = eval_typing (OrLiteralGeneric [_BoolLiteral [True ], _BoolLiteral [False ]])
@@ -1384,21 +1385,48 @@ def test_eval_literal_generic_04():
13841385 assert d == _BoolLiteral [False ]
13851386
13861387
1387- def test_eval_literal_generic_05 ():
1388+ def test_eval_bool_literal_05 ():
13881389 d = eval_typing (LiteralGenericToLiteral [_BoolLiteral [True ]])
13891390 assert d == Literal [True ]
13901391 d = eval_typing (LiteralGenericToLiteral [_BoolLiteral [False ]])
13911392 assert d == Literal [False ]
13921393
13931394
1394- def test_eval_literal_generic_06 ():
1395+ def test_eval_bool_literal_06 ():
13951396 d = eval_typing (NotLiteralGenericToLiteral [_BoolLiteral [True ]])
13961397 assert d == Literal [False ]
13971398 d = eval_typing (NotLiteralGenericToLiteral [_BoolLiteral [False ]])
13981399 assert d == Literal [True ]
13991400
14001401
1401- def test_eval_literal_generic_error_01 ():
1402+ def test_eval_bool_literal_07 ():
1403+ d = eval_typing (IsSub [_BoolLiteral [True ], Literal [True ]])
1404+ assert d == _BoolLiteral [True ]
1405+ d = eval_typing (IsSub [_BoolLiteral [False ], Literal [False ]])
1406+ assert d == _BoolLiteral [True ]
1407+
1408+ d = eval_typing (IsSub [Literal [True ], _BoolLiteral [True ]])
1409+ assert d == _BoolLiteral [True ]
1410+ d = eval_typing (IsSub [Literal [False ], _BoolLiteral [False ]])
1411+ assert d == _BoolLiteral [True ]
1412+
1413+ d = eval_typing (IsSubtype [_BoolLiteral [True ], Literal [True ]])
1414+ assert d == _BoolLiteral [True ]
1415+ d = eval_typing (IsSubtype [_BoolLiteral [False ], Literal [False ]])
1416+ assert d == _BoolLiteral [True ]
1417+
1418+ d = eval_typing (IsSubtype [Literal [True ], _BoolLiteral [True ]])
1419+ assert d == _BoolLiteral [True ]
1420+ d = eval_typing (IsSubtype [Literal [False ], _BoolLiteral [False ]])
1421+ assert d == _BoolLiteral [True ]
1422+
1423+ d = eval_typing (Matches [_BoolLiteral [True ], Literal [True ]])
1424+ assert d == _BoolLiteral [True ]
1425+ d = eval_typing (Matches [_BoolLiteral [False ], Literal [False ]])
1426+ assert d == _BoolLiteral [True ]
1427+
1428+
1429+ def test_eval_bool_literal_error_01 ():
14021430 with pytest .raises (TypeError , match = "Expected literal type, got 'int'" ):
14031431 eval_typing (_BoolLiteral [int ])
14041432
0 commit comments