From 0b4f5c9139bca7bb04c904f23dfd48e926ee5775 Mon Sep 17 00:00:00 2001 From: swittl <simon.wittl@th-deg.de> Date: Fri, 12 Jul 2024 08:04:15 +0200 Subject: [PATCH] added more test --- .gitignore | 1 + rq_controller/common/io/writer.py | 3 +- ...st_base_loader.cpython-38-pytest-8.2.2.pyc | Bin 0 -> 2839 bytes ...st_base_writer.cpython-38-pytest-8.2.2.pyc | Bin 0 -> 10618 bytes ...rq_json_loader.cpython-38-pytest-8.2.2.pyc | Bin 0 -> 7337 bytes test/test_base_loader.py | 34 +++++++ test/test_base_writer.py | 91 ++++++++++++++++++ 7 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 test/__pycache__/test_base_loader.cpython-38-pytest-8.2.2.pyc create mode 100644 test/__pycache__/test_base_writer.cpython-38-pytest-8.2.2.pyc create mode 100644 test/__pycache__/test_rq_json_loader.cpython-38-pytest-8.2.2.pyc create mode 100644 test/test_base_loader.py create mode 100644 test/test_base_writer.py diff --git a/.gitignore b/.gitignore index 9ff496e..e0ab10b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /build/ + /example/data/ \ No newline at end of file diff --git a/rq_controller/common/io/writer.py b/rq_controller/common/io/writer.py index be86283..f9475c3 100644 --- a/rq_controller/common/io/writer.py +++ b/rq_controller/common/io/writer.py @@ -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: diff --git a/test/__pycache__/test_base_loader.cpython-38-pytest-8.2.2.pyc b/test/__pycache__/test_base_loader.cpython-38-pytest-8.2.2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..279c0db1aec0f0f5b456424894890499d32a6041 GIT binary patch literal 2839 zcmcIm&u`pB6rQoYUa$8@lBPrfArzp68pIX~p->SN3LJ{i3R)r1Dw5^w%%)E4_3~!6 zX~KpB?G+JmL_K7W`A;}-<}g>p0f{q*iUV(Ey<~UO%_+6z=lSM&-uvG3yk~z^t@;Fy zKc6{l|5_mA4-Li-8^JnW;%5|$Fq)7iHFqnuEka4^Gz)a7ahon`tfZKFP0!5PNh$T4 zJ|*1UE;EM}9+C&NS>YaYA5m6h-b1HZ%~6T@h-x`1vkIcQ993Bj(R_~P*gT>IM(>bd z;V<Mx8pl-CZbpKC63OWEEMgo2s+=z(dAFtY<A;mjW4y#X3W*Uhi`kmnj}F>%8)|Ng zXDOGk7m8lH9p6_AUC6e1OU7AeH047UkH*z|S<*{+4g*I$*Uez`{FE)w-qkYjEp04o zhjB*&7cyTA9;(4YaZI4B$67pIYu(sj{N4t98}4SX(@wJ84FN5UTNxV2l7z#CL_0== zo0y3(F=?oG_td<>3{#U&;)^Dtf`V8U&Ch?KiujnCTZ?LCerU=?yiC$=Ah|x-CI^(! z1FKK_){b>x_igdLq(>IB`gWT#ThF(xfx{eWA2|cE<BE0E7y4vC;WHe$depH{ug7#i z&D|PMR(NDDkpqXhtk`#AisOPTqSosd2J`{_0XLt6-tn^0KiMuJ6K|Z!Ar(G8KjKn) z0+-)VKjiYe@q1oeeB|O!artG8OZhYxWV<n9b4a0mu6)YKr!v9E60eQ%sXmd<-(!6K zIX^y(V0qOVpf_JYA6si{0o}iO`AT>1S|I%I^1;g5iXOcgi2Cd*@()(lhR>}A!fe>U zRyMBE;+ht#`?W|24$@e=9tb^o-BcfXeg7=4)3rY7Ocw%LSU<zUtm2+Dq$?c_t)5|M zqOVM>4k}Q>^~zuG?&-1*BTx%rD@u|Oco$k(+Kqs#3aZ1+UYy9dBb1wD_=Hf)p}3p% z5@sF^w~}l#O2ST*a#adN)aKfPs(obAhh6GZfDF`P*v=r0WXSJ#lc*EvW@yq0`ukz} zR^Xafp~~9pF#B(fgLlTk+e0uk`tCS*@1*g8?on#dL>PBs8AnOHZ(P?<A=Xh4>S90e z@M@3>sgX*K-BbAXlzxceMYJ)|?sV(Z$u;fn3JxSWq7qxvPZue+z9U;Y3>(paQt~xf zC0~-;<Qx3{-66+TW8c5pj&}IfE`E4|f^vs%N4XHif(y0S$mFfGoA8u(BxfeG&1K!F z!?91y=#v2sItLx;bVlAV8JV>%>|`>GPuyHY3qso>v_jz(yq{0J@DiE|3h*-C;F1=X zQ8eeKc+C#u(i6j&V!w<wPuRbT=&7<_GVD*4@a!O7KMCU0s_8fJ{6s8zZ#~sm$|ja! z7nvQv%1Hou!<l*mD-)~(M8O5+joJz<;e>iN9B%dcu<o%r)Pe6pEU~HlKc$NK9Ox}+ z_D%DJiGP?ncCHlH##vo+=K!|0UexuJ#G57vRm6WX*#mC6jj3O=sX^}z&`AZ&aja&{ kkCbU8-Un&MdI|qf7rD^PJ#v9~SQiz`p}tphYmPqu1KoVg;{X5v literal 0 HcmV?d00001 diff --git a/test/__pycache__/test_base_writer.cpython-38-pytest-8.2.2.pyc b/test/__pycache__/test_base_writer.cpython-38-pytest-8.2.2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..29e343a89d1a629bacda3ebb8b0f24f419a5fc0e GIT binary patch literal 10618 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 literal 0 HcmV?d00001 diff --git a/test/__pycache__/test_rq_json_loader.cpython-38-pytest-8.2.2.pyc b/test/__pycache__/test_rq_json_loader.cpython-38-pytest-8.2.2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..08c125f59602b7c18da451bf09f26e6439e0abfd GIT binary patch literal 7337 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 literal 0 HcmV?d00001 diff --git a/test/test_base_loader.py b/test/test_base_loader.py new file mode 100644 index 0000000..eb1c071 --- /dev/null +++ b/test/test_base_loader.py @@ -0,0 +1,34 @@ +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 diff --git a/test/test_base_writer.py b/test/test_base_writer.py new file mode 100644 index 0000000..3d41a2d --- /dev/null +++ b/test/test_base_writer.py @@ -0,0 +1,91 @@ +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 -- GitLab