Skip to content
Snippets Groups Projects
Commit 0b4f5c91 authored by Simon Wittl's avatar Simon Wittl
Browse files

added more test

parent 3582fce7
No related branches found
No related tags found
No related merge requests found
/build/
/example/data/
\ No newline at end of file
......@@ -29,7 +29,8 @@ class BaseDataWriter():
def write_region_of_intrest(self, save_path: Path, region_of_intrest: PyRegionOfIntrest):
raise NotImplementedError
def write_volume(save_path: Path, region_of_intrest: PyRegionOfIntrest):
def write_volume(self, save_path: Path, volume: PyVolume):
raise NotImplementedError()
def get_next_projection_save_path(self, save_folder: Path) -> Path:
......
File added
File added
File added
import pytest
from rq_controller.common.io.loader import BaseDataLoader
from pathlib import Path
@pytest.fixture
def base_data_loader():
return BaseDataLoader(
porjection_geometry_suffix="geometry_suffix",
projection_suffix="projection_suffix",
region_of_intrest_suffix="roi_suffix",
volume_suffix="volume_suffix"
)
def test_initialization(base_data_loader: BaseDataLoader):
assert base_data_loader.porjection_geometry_suffix == "geometry_suffix"
assert base_data_loader.projection_suffix == "projection_suffix"
assert base_data_loader.region_of_intrest_suffix == "roi_suffix"
assert base_data_loader.volume_suffix == "volume_suffix"
def test_load_projection_geometry_not_implemented(base_data_loader: BaseDataLoader):
with pytest.raises(NotImplementedError):
base_data_loader.load_projection_geometry(Path("/fake/path"))
def test_load_projection_not_implemented(base_data_loader: BaseDataLoader):
with pytest.raises(NotImplementedError):
base_data_loader.load_projection(Path("/fake/path"))
def test_load_region_of_intrest_not_implemented(base_data_loader: BaseDataLoader):
with pytest.raises(NotImplementedError):
base_data_loader.load_region_of_intrest(Path("/fake/path"))
def test_load_volume_not_implemented(base_data_loader: BaseDataLoader):
with pytest.raises(NotImplementedError):
base_data_loader.load_volume(Path("/fake/path"))
\ No newline at end of file
import pytest
from pathlib import Path
from rq_controller.common import PyProjection, PyProjectionGeometry, PyRegionOfIntrest, PyVolume
from rq_controller.common.io.writer import BaseDataWriter
@pytest.fixture
def base_data_writer():
return BaseDataWriter(
porjection_geometry_suffix=".geom",
projection_suffix=".proj",
region_of_intrest_suffix=".roi",
volume_suffix=".vol"
)
def test_initialization(base_data_writer):
assert base_data_writer.porjection_geometry_suffix == ".geom"
assert base_data_writer.projection_suffix == ".proj"
assert base_data_writer.region_of_intrest_suffix == ".roi"
assert base_data_writer.volume_suffix == ".vol"
def test_write_projection_geometry_not_implemented(base_data_writer):
with pytest.raises(NotImplementedError):
base_data_writer.write_projection_geometry(Path("/fake/path"), PyProjectionGeometry.dummy())
def test_write_projection_not_implemented(base_data_writer):
with pytest.raises(NotImplementedError):
base_data_writer.write_projection(Path("/fake/path"), PyProjection.dummy())
def test_write_region_of_intrest_not_implemented(base_data_writer):
with pytest.raises(NotImplementedError):
base_data_writer.write_region_of_intrest(Path("/fake/path"), PyRegionOfIntrest.dummy())
def test_write_volume_not_implemented(base_data_writer):
with pytest.raises(NotImplementedError):
base_data_writer.write_volume(Path("/fake/path"), PyVolume.dummy())
def test_get_next_projection_save_path(base_data_writer, tmp_path):
(tmp_path / "projection_00001.proj").touch()
expected_path = tmp_path / "projection_00002.proj"
assert base_data_writer.get_next_projection_save_path(tmp_path) == expected_path
def test_get_projection_save_path_i(base_data_writer, tmp_path):
expected_path = tmp_path / "projection_00005.proj"
assert base_data_writer.get_projection_save_path_i(tmp_path, 5) == expected_path
def test_get_next_projection_geometry_save_path(base_data_writer, tmp_path):
(tmp_path / "geometry_00001.geom").touch()
expected_path = tmp_path / "geometry_00002.geom"
assert base_data_writer.get_next_projection_geometry_save_path(tmp_path) == expected_path
def test_get_projection_geometry_save_path_i(base_data_writer, tmp_path):
expected_path = tmp_path / "geometry_00005.geom"
assert base_data_writer.get_projection_geometry_save_path_i(tmp_path, 5) == expected_path
def test_get_next_region_of_intrest_save_path(base_data_writer, tmp_path):
(tmp_path / "roi_00001.roi").touch()
expected_path = tmp_path / "roi_00002.roi"
assert base_data_writer.get_next_region_of_intrest_save_path(tmp_path) == expected_path
def test_get_region_of_intrest_save_path_i(base_data_writer, tmp_path):
expected_path = tmp_path / "roi_00005.roi"
assert base_data_writer.get_region_of_intrest_save_path_i(tmp_path, 5) == expected_path
def test_get_next_volume_save_path(base_data_writer, tmp_path):
(tmp_path / "volume_00001.vol").touch()
expected_path = tmp_path / "volume_00002.vol"
assert base_data_writer.get_next_volume_save_path(tmp_path) == expected_path
def test_get_volume_save_path_i(base_data_writer, tmp_path):
expected_path = tmp_path / "volume_00005.vol"
assert base_data_writer.get_volume_save_path_i(tmp_path, 5) == expected_path
def test_number_of_projection_geometries(base_data_writer, tmp_path):
(tmp_path / "geometry_00001.geom").touch()
(tmp_path / "geometry_00002.geom").touch()
assert base_data_writer.number_of_projection_geometries(tmp_path) == 2
def test_number_of_projections(base_data_writer, tmp_path):
(tmp_path / "projection_00001.proj").touch()
(tmp_path / "projection_00002.proj").touch()
assert base_data_writer.number_of_projections(tmp_path) == 2
def test_number_of_region_of_intrests(base_data_writer, tmp_path):
(tmp_path / "roi_00001.roi").touch()
(tmp_path / "roi_00002.roi").touch()
assert base_data_writer.number_of_region_of_intrests(tmp_path) == 2
def test_number_of_volumes(base_data_writer, tmp_path):
(tmp_path / "volume_00001.vol").touch()
(tmp_path / "volume_00002.vol").touch()
assert base_data_writer.number_of_volumes(tmp_path) == 2
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment