Skip to content
This repository was archived by the owner on Nov 2, 2022. It is now read-only.

Commit a013722

Browse files
author
Robert Schindler
committed
Add more unittests
1 parent ba7e87a commit a013722

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

exceptiongroup/_tests/test_exceptiongroup.py

+50-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ def test_exception_group_init_when_exceptions_messages_not_equal():
4444

4545

4646
def test_exception_group_bool():
47-
assert not ExceptionGroup("E", [], [])
48-
assert ExceptionGroup("E", [ValueError()], [""])
47+
assert bool(ExceptionGroup("E", [], [])) is False
48+
assert bool(ExceptionGroup("E", [ValueError()], [""])) is True
4949

5050

5151
def test_exception_group_contains():
@@ -62,6 +62,15 @@ def test_exception_group_find():
6262
assert group.find(TypeError) is None
6363

6464

65+
def test_exception_group_find_callable_predicate():
66+
err = ValueError()
67+
group = ExceptionGroup("E", [err], [""])
68+
predicate1 = lambda e: e is err
69+
assert group.find(predicate1) is err
70+
predicate2 = lambda _: False
71+
assert group.find(predicate2) is None
72+
73+
6574
def test_exception_group_find_with_source():
6675
err = ValueError()
6776
group = ExceptionGroup("E", [err], ["x"])
@@ -89,6 +98,45 @@ def test_exception_group_len():
8998
assert len(ExceptionGroup("E", [ValueError()], [""])) == 1
9099

91100

101+
def test_exception_group_maybe_reraise_empty():
102+
group = ExceptionGroup("E", [], [])
103+
group.maybe_reraise()
104+
105+
106+
def test_exception_group_maybe_reraise_unwrap():
107+
err = ValueError()
108+
group = ExceptionGroup("E", [err], [""])
109+
try:
110+
group.maybe_reraise()
111+
except ValueError as caught_err:
112+
assert caught_err is err
113+
try:
114+
group.maybe_reraise(unwrap=False)
115+
except ExceptionGroup as caught_err:
116+
assert caught_err is group
117+
118+
119+
def test_exception_group_maybe_reraise_from_exception():
120+
err = ValueError()
121+
try:
122+
raise_group()
123+
except ExceptionGroup as group1:
124+
group2 = ExceptionGroup("E", [err], [""])
125+
try:
126+
group2.maybe_reraise()
127+
except ValueError as caught_err:
128+
assert caught_err.__cause__ is group1
129+
try:
130+
raise_group()
131+
except ExceptionGroup as group1:
132+
group2 = ExceptionGroup("E", [err], [""])
133+
err2 = TypeError()
134+
try:
135+
group2.maybe_reraise(from_exception=err2)
136+
except ValueError as caught_err:
137+
assert caught_err.__cause__ is err2
138+
139+
92140
def test_exception_group_str():
93141
memberA = ValueError("memberA")
94142
memberB = ValueError("memberB")

0 commit comments

Comments
 (0)