Get use of workspace functions in tests.

This commit is contained in:
Sergey Vartanov 2021-08-09 10:05:50 +10:00
parent f9409e2f47
commit 50656733e2
2 changed files with 16 additions and 23 deletions

View file

@ -5,11 +5,14 @@ from pathlib import Path
from roentgen.icon import ShapeExtractor from roentgen.icon import ShapeExtractor
from roentgen.scheme import Scheme from roentgen.scheme import Scheme
from roentgen.workspace import Workspace
__author__ = "Sergey Vartanov" __author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru" __email__ = "me@enzet.ru"
SCHEME: Scheme = Scheme(Path("scheme/default.yml")) workspace: Workspace = Workspace(Path("temp"))
SCHEME: Scheme = Scheme(workspace.DEFAULT_SCHEME_PATH)
SHAPE_EXTRACTOR: ShapeExtractor = ShapeExtractor( SHAPE_EXTRACTOR: ShapeExtractor = ShapeExtractor(
Path("icons/icons.svg"), Path("icons/config.json") workspace.ICONS_PATH, workspace.ICONS_CONFIG_PATH
) )

View file

@ -1,47 +1,37 @@
""" """
Test icon generation for nodes. Test icon generation for nodes.
""" """
from pathlib import Path from typing import Dict, Set
from typing import Dict, Set, Tuple
import pytest import pytest
from roentgen.grid import IconCollection from roentgen.grid import IconCollection
from roentgen.icon import IconSet from roentgen.icon import IconSet
from test import SCHEME, SHAPE_EXTRACTOR from test import SCHEME, SHAPE_EXTRACTOR, workspace
__author__ = "Sergey Vartanov" __author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru" __email__ = "me@enzet.ru"
@pytest.fixture
def init_directories() -> Tuple[Path, Path]:
"""Create temporary directories."""
temp_directory: Path = Path("temp")
temp_directory.mkdir(exist_ok=True)
set_directory: Path = temp_directory / "icon_set"
set_directory.mkdir(exist_ok=True)
return temp_directory, set_directory
@pytest.fixture @pytest.fixture
def init_collection() -> IconCollection: def init_collection() -> IconCollection:
"""Create collection of all possible icon sets.""" """Create collection of all possible icon sets."""
return IconCollection.from_scheme(SCHEME, SHAPE_EXTRACTOR) return IconCollection.from_scheme(SCHEME, SHAPE_EXTRACTOR)
def test_grid(init_collection, init_directories) -> None: def test_grid(init_collection) -> None:
"""Test grid drawing.""" """Test grid drawing."""
temp_directory, _ = init_directories init_collection.draw_grid(workspace.output_path / "grid.svg")
init_collection.draw_grid(temp_directory / "grid.svg")
def test_icons(init_collection, init_directories) -> None: def test_icons_by_id(init_collection) -> None:
"""Test individual icons drawing.""" """Test individual icons drawing."""
_, set_directory = init_directories init_collection.draw_icons(workspace.get_icons_by_id_path(), by_name=False)
init_collection.draw_icons(set_directory)
def test_icons_by_name(init_collection) -> None:
"""Test drawing individual icons that have names."""
init_collection.draw_icons(workspace.get_icons_by_name_path(), by_name=True)
def get_icon(tags: Dict[str, str]) -> IconSet: def get_icon(tags: Dict[str, str]) -> IconSet: