def test_get_reader_invalid_input_returns_None(): # path which is not a zip and doesn't contain zips reader = napari_get_reader("fake.file") assert reader is None # path which is a zip but not a SENTINEL zip reader = napari_get_reader("fake.zip") assert reader is None # list of non-sentinel zips reader = napari_get_reader(["fake.zip", "fake2.zip"]) assert reader is None
def test_get_reader_valid_input_returns_reader(): # list of sentinel zips reader = napari_get_reader(TEST_ZIP_PATH_LIST) assert callable( reader), "Passing list of Sentinel zips does not return valid reader" # solitary sentinel zip reader = napari_get_reader(TEST_ONE_ZIP_PATH) assert callable( reader), "Passing one Sentinel zip does not return valid reader" # root dir of zips reader = napari_get_reader(TEST_TILE_PATH) assert callable(reader), f"napari_get_reader() did not return a function"
def test_reader_with_string_path(): NUM_IMS = 1 NUM_LAYERS = 23 NUM_DIMS = 3 reader = napari_get_reader(TEST_ONE_ZIP_PATH) layer_list = reader(TEST_ONE_ZIP_PATH) check_layer_list_structure(layer_list, NUM_IMS, NUM_LAYERS) check_viewer_open_structure(TEST_ONE_ZIP_PATH, NUM_LAYERS, NUM_DIMS)
def test_reader_with_root_directory(): NUM_IMS = 10 NUM_LAYERS = 23 NUM_DIMS = 3 reader = napari_get_reader(TEST_TILE_PATH) # get result of reader(path) layer_list = reader(TEST_TILE_PATH) check_layer_list_structure(layer_list, NUM_IMS, NUM_LAYERS) check_viewer_open_structure(TEST_TILE_PATH, NUM_LAYERS, NUM_DIMS)
def test_reader_with_list(): NUM_IMS = 10 NUM_LAYERS = 23 NUM_DIMS = 3 reader = napari_get_reader(TEST_ZIP_PATH_LIST) layer_list = reader(TEST_ZIP_PATH_LIST) check_layer_list_structure(layer_list, NUM_IMS, NUM_LAYERS) v = napari.components.ViewerModel() for layer in layer_list: v.add_image(layer[0], **layer[1]) # viewer must have 23 layers after opening assert len( v.layers ) == NUM_LAYERS, f"Expected {NUM_LAYERS} layers after opening in napari viewer, got {len(v.layers)}" # viewer should have 3 dimensions after opening assert v.dims.ndim == NUM_DIMS, f"Expected {NUM_DIMS} dimensions after opening in napari viewer, got {v.dims.ndim}"