Fix typing and minor issues

This commit is contained in:
Andras Schmelczer 2022-07-07 14:12:44 +02:00
parent 2db2253578
commit 72ab627a34
54 changed files with 635 additions and 589 deletions

View file

@ -1,5 +1,4 @@
import pytest
from great_ai.utilities import chunk
@ -23,7 +22,7 @@ def test_bad_argument() -> None:
def test_generator() -> None:
def my_generator():
def my_generator(): # type: ignore
for i in range(1, 11):
yield i

View file

@ -2,7 +2,6 @@ import os
from pathlib import Path
import pytest
from great_ai.utilities import ConfigFile
DATA_PATH = Path(__file__).parent.resolve() / "data"

View file

@ -20,11 +20,11 @@ def test_is_english() -> None:
assert not is_english(None)
def english_name_of_language() -> None:
def test_english_name_of_language() -> None:
assert english_name_of_language("en") == "English"
assert english_name_of_language("hu") == "Hungarian"
assert english_name_of_language("zh") == "Chinese"
assert english_name_of_language("zh-TW") == "Chinese"
assert english_name_of_language("zh-TW") == "Chinese (Taiwan)"
assert english_name_of_language("und") == "Unknown language"
assert english_name_of_language("") == "Unknown language"
assert english_name_of_language(None) == "Unknown language"

View file

@ -1,11 +1,13 @@
import pytest
from typing import Any, Iterable
import pytest
from great_ai.utilities import WorkerException, parallel_map
from typing_extensions import Never
COUNT = int(1e5) + 3
def test_simple_case_with_progress_bar() -> None:
def test_simple_case() -> None:
assert list(parallel_map(lambda v: v**2, range(COUNT), concurrency=4)) == [
v**2 for v in range(COUNT)
]
@ -14,7 +16,7 @@ def test_simple_case_with_progress_bar() -> None:
def test_with_iterable() -> None:
from time import sleep
def my_generator():
def my_generator() -> Iterable[int]:
for i in range(10):
yield i
sleep(0.1)
@ -26,12 +28,6 @@ def test_with_iterable() -> None:
)
def test_simple_case_without_progress_bar() -> None:
assert list(parallel_map(lambda v: v**2, range(COUNT), concurrency=2)) == [
v**2 for v in range(COUNT)
]
def test_simple_case_invalid_values() -> None:
with pytest.raises(AssertionError):
list(parallel_map(lambda v: v**2, range(COUNT), concurrency=0))
@ -41,7 +37,7 @@ def test_simple_case_invalid_values() -> None:
def test_this_process_exception() -> None:
def my_generator():
def my_generator() -> Iterable[int]:
yield 1
yield 2
yield 3
@ -59,7 +55,7 @@ def test_this_process_exception() -> None:
def test_ignore_this_process_exception() -> None:
def my_generator():
def my_generator() -> Iterable[float]:
yield 1
yield 2
yield 3
@ -74,19 +70,10 @@ def test_ignore_this_process_exception() -> None:
ignore_exceptions=True,
)
) == [1, 4]
assert list(
parallel_map(
lambda v: v**2,
my_generator(),
concurrency=1,
chunk_size=2,
ignore_exceptions=True,
)
) == [1, 4, 9]
def test_worker_process_exception() -> None:
def oh_no(_):
def oh_no(_: Any) -> Never:
raise ValueError("hi")
with pytest.raises(WorkerException):
@ -97,7 +84,7 @@ def test_worker_process_exception() -> None:
def test_ignore_worker_process_exception() -> None:
def oh_no(_):
def oh_no(_: Any) -> Never:
raise ValueError("hi")
assert (

View file

@ -1,11 +1,13 @@
import pytest
from typing import Any, Iterable
import pytest
from great_ai.utilities import WorkerException, threaded_parallel_map
from typing_extensions import Never
COUNT = int(1e5) + 3
def test_simple_case_with_progress_bar() -> None:
def test_simple_case() -> None:
assert list(
threaded_parallel_map(lambda v: v**2, range(COUNT), concurrency=4)
) == [v**2 for v in range(COUNT)]
@ -14,7 +16,7 @@ def test_simple_case_with_progress_bar() -> None:
def test_with_iterable() -> None:
from time import sleep
def my_generator():
def my_generator() -> Iterable[int]:
for i in range(10):
yield i
sleep(0.1)
@ -27,12 +29,6 @@ def test_with_iterable() -> None:
)
def test_simple_case_without_progress_bar() -> None:
assert list(
threaded_parallel_map(lambda v: v**2, range(COUNT), concurrency=2)
) == [v**2 for v in range(COUNT)]
def test_simple_case_invalid_values() -> None:
with pytest.raises(AssertionError):
list(threaded_parallel_map(lambda v: v**2, range(COUNT), concurrency=0))
@ -42,7 +38,7 @@ def test_simple_case_invalid_values() -> None:
def test_this_worker_exception() -> None:
def my_generator():
def my_generator() -> Iterable[int]:
yield 1
yield 2
yield 3
@ -64,7 +60,7 @@ def test_this_worker_exception() -> None:
def test_ignore_this_worker_exception() -> None:
def my_generator():
def my_generator() -> Iterable[float]:
yield 1
yield 2
yield 3
@ -78,20 +74,14 @@ def test_ignore_this_worker_exception() -> None:
chunk_size=2,
ignore_exceptions=True,
)
) == [1, 4]
assert list(
threaded_parallel_map(
lambda v: v**2,
my_generator(),
concurrency=1,
chunk_size=2,
ignore_exceptions=True,
)
) == [1, 4, 9]
) == [
1,
4,
] # the second chunk is ruined because of the error
def test_worker_worker_exception() -> None:
def oh_no(_):
def oh_no(_: Any) -> Never:
raise ValueError("hi")
with pytest.raises(WorkerException):
@ -102,7 +92,7 @@ def test_worker_worker_exception() -> None:
def test_ignore_worker_worker_exception() -> None:
def oh_no(_):
def oh_no(_: Any) -> Never:
raise ValueError("hi")
assert (