11from pathlib import Path
22
33from napari_cellseg3d .code_models import model_framework
4+ from napari_cellseg3d .config import MODEL_LIST
45
56
67def pth (path ):
78 return str (Path (path ))
89
910
10- def test_update_default (make_napari_viewer ):
11- view = make_napari_viewer ()
11+ def test_update_default (make_napari_viewer_proxy ):
12+ view = make_napari_viewer_proxy ()
1213 widget = model_framework .ModelFramework (view )
1314
1415 widget .images_filepaths = []
@@ -38,8 +39,8 @@ def test_update_default(make_napari_viewer):
3839 ]
3940
4041
41- def test_create_train_dataset_dict (make_napari_viewer ):
42- view = make_napari_viewer ()
42+ def test_create_train_dataset_dict (make_napari_viewer_proxy ):
43+ view = make_napari_viewer_proxy ()
4344 widget = model_framework .ModelFramework (view )
4445
4546 widget .images_filepaths = [str (f"{ i } .tif" ) for i in range (3 )]
@@ -52,3 +53,64 @@ def test_create_train_dataset_dict(make_napari_viewer):
5253 ]
5354
5455 assert widget .create_train_dataset_dict () == expect
56+
57+
58+ def test_log (make_napari_viewer_proxy ):
59+ mock_test = "test"
60+ framework = model_framework .ModelFramework (
61+ viewer = make_napari_viewer_proxy ()
62+ )
63+ framework .log .print_and_log (mock_test )
64+ assert len (framework .log .toPlainText ()) != 0
65+ assert framework .log .toPlainText () == "\n " + mock_test
66+
67+ framework .results_path = str (Path (__file__ ).resolve ().parent / "res" )
68+ framework .save_log (do_timestamp = False )
69+ log_path = Path (__file__ ).resolve ().parent / "res/Log_report.txt"
70+ assert log_path .is_file ()
71+ with Path .open (log_path .resolve (), "r" ) as f :
72+ assert f .read () == "\n " + mock_test
73+
74+ # remove log file
75+ log_path .unlink (missing_ok = False )
76+ log_path = Path (__file__ ).resolve ().parent / "res/Log_report.txt"
77+ framework .save_log_to_path (str (log_path .parent ), do_timestamp = False )
78+ assert log_path .is_file ()
79+ with Path .open (log_path .resolve (), "r" ) as f :
80+ assert f .read () == "\n " + mock_test
81+ log_path .unlink (missing_ok = False )
82+
83+
84+ def test_display_elements (make_napari_viewer_proxy ):
85+ framework = model_framework .ModelFramework (
86+ viewer = make_napari_viewer_proxy ()
87+ )
88+
89+ framework .display_status_report ()
90+ framework .display_status_report ()
91+
92+ framework .custom_weights_choice .setChecked (False )
93+ framework ._toggle_weights_path ()
94+ assert not framework .weights_filewidget .isVisible ()
95+
96+
97+ def test_available_models_retrieval (make_napari_viewer_proxy ):
98+ framework = model_framework .ModelFramework (
99+ viewer = make_napari_viewer_proxy ()
100+ )
101+ assert framework .get_available_models () == MODEL_LIST
102+
103+
104+ def test_update_weights_path (make_napari_viewer_proxy ):
105+ framework = model_framework .ModelFramework (
106+ viewer = make_napari_viewer_proxy ()
107+ )
108+ assert (
109+ framework ._update_weights_path (framework ._default_weights_folder )
110+ is None
111+ )
112+ name = str (Path .home () / "test/weight.pth" )
113+ framework ._update_weights_path ([name ])
114+ assert framework .weights_config .path == name
115+ assert framework .weights_filewidget .text_field .text () == name
116+ assert framework ._default_weights_folder == str (Path .home () / "test" )
0 commit comments