added test
This commit is contained in:
1 parent
ef879d8ec7
commit
673344b36b
1 file changed
+53
@@ -0,0 +1,53 @@
|
|||||||
|
import io, typing
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
def is_balanced_file_object(file_object: typing.IO[str]) -> bool:
|
||||||
|
text = file_object.read()
|
||||||
|
counter = 0
|
||||||
|
for letter in text:
|
||||||
|
if letter == "(":
|
||||||
|
counter += 1
|
||||||
|
if letter == ")":
|
||||||
|
counter -= 1
|
||||||
|
if counter < 0:
|
||||||
|
return False
|
||||||
|
return counter == 0
|
||||||
|
|
||||||
|
|
||||||
|
def is_balanced_file(file_path: Path) -> bool:
|
||||||
|
with open(file_path, "r") as file_:
|
||||||
|
return is_balanced_file_object(file_)
|
||||||
|
|
||||||
|
|
||||||
|
def test_is_balanced_file_object() -> None:
|
||||||
|
assert is_balanced_file_object(io.StringIO(""))
|
||||||
|
assert is_balanced_file_object(io.StringIO("()"))
|
||||||
|
assert is_balanced_file_object(io.StringIO("(()())"))
|
||||||
|
assert not is_balanced_file_object(io.StringIO("((())"))
|
||||||
|
assert not is_balanced_file_object(io.StringIO("(()))"))
|
||||||
|
assert not is_balanced_file_object(io.StringIO(")"))
|
||||||
|
|
||||||
|
|
||||||
|
def get_first_two_numbers(lst, target):
|
||||||
|
for e in lst:
|
||||||
|
if (target - e) in lst:
|
||||||
|
return tuple(sorted((e, target - e)))
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_two_numbers():
|
||||||
|
lst = [55, 20, 76, 34, 80, 26]
|
||||||
|
target = 100
|
||||||
|
assert get_first_two_numbers(lst, target) == (20, 80)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_two_numbers_2():
|
||||||
|
lst = [55, 80, 76, 34, 20, 26]
|
||||||
|
target = 100
|
||||||
|
assert get_first_two_numbers(lst, target) == (20, 80)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_two_numbers_3():
|
||||||
|
lst = [55, 30, 80, 76, 34, 70, 20, 26]
|
||||||
|
target = 100
|
||||||
|
# assert get_first_two_numbers(lst, target) == (20, 80)
|
||||||
Reference in new issue
Block a user