This commit is contained in:
42
tests/test_try.py
Normal file
42
tests/test_try.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import unittest
|
||||
from pwo import Try
|
||||
|
||||
|
||||
class TestException(Exception):
|
||||
|
||||
def __init__(self, msg: str):
|
||||
super().__init__(msg)
|
||||
|
||||
|
||||
class TryTest(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
pass
|
||||
|
||||
def test_try(self):
|
||||
|
||||
with self.subTest("Test failure"):
|
||||
def throw_test_exception():
|
||||
raise TestException("error")
|
||||
|
||||
t = Try.of(throw_test_exception)
|
||||
|
||||
with self.assertRaises(TestException):
|
||||
t.get()
|
||||
|
||||
t = Try.failure(TestException("error"))
|
||||
|
||||
with self.assertRaises(TestException):
|
||||
t.get()
|
||||
|
||||
with self.subTest("Test success"):
|
||||
def complete_successfully():
|
||||
return 42
|
||||
|
||||
t = Try.of(complete_successfully)
|
||||
|
||||
self.assertEqual(42, t.get())
|
||||
|
||||
t2 = t.handle(lambda value, err: value * 2)
|
||||
self.assertEqual(84, t2.get())
|
||||
|
Reference in New Issue
Block a user