Skip to content

Commit bf28f0e

Browse files
committed
ADD: Add unit test for tiffreader
1 parent 3cb94c8 commit bf28f0e

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

tests/test_tiffreader.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,3 +398,53 @@ def test_build_color_dict() -> None:
398398
"DAPI (DAPI) [2]": (0.0, 1.0, 0.0),
399399
"FITC (FITC)": (0.0, 0.0, 1.0),
400400
}
401+
402+
403+
def test_get_ome_objective_power_valid() -> None:
404+
"""Test extraction of objective power from valid OME-XML."""
405+
xml = """
406+
<OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06">
407+
<Instrument ID="Instrument:0">
408+
<Objective ID="Objective:0" NominalMagnification="20.0"/>
409+
</Instrument>
410+
<Image>
411+
<InstrumentRef ID="Instrument:0"/>
412+
<ObjectiveSettings ID="Objective:0"/>
413+
</Image>
414+
</OME>
415+
"""
416+
reader = wsireader.TIFFWSIReader.__new__(wsireader.TIFFWSIReader)
417+
reader.series_n = 0 # Required for _get_ome_mpp
418+
reader._get_ome_mpp = lambda _: [0.5, 0.5] # Optional fallback mock
419+
result = reader._get_ome_objective_power(ElementTree.fromstring(xml))
420+
assert result == 20.0
421+
422+
423+
def test_get_ome_objective_power_fallback_mpp() -> None:
424+
"""Test fallback to MPP-based inference when objective power is missing."""
425+
xml = """
426+
<OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06">
427+
<Image>
428+
<Pixels PhysicalSizeX="0.5" PhysicalSizeY="0.5"/>
429+
</Image>
430+
</OME>
431+
"""
432+
reader = wsireader.TIFFWSIReader.__new__(wsireader.TIFFWSIReader)
433+
reader._get_ome_mpp = lambda _: [0.5, 0.5] # Mock MPP extraction
434+
result = reader._get_ome_objective_power(ElementTree.fromstring(xml))
435+
assert result == 20.0 # Assuming mpp2common_objective_power(0.5) == 20.0
436+
437+
438+
def test_get_ome_objective_power_none() -> None:
439+
"""Test full fallback when both objective power and MPP are missing."""
440+
xml = """
441+
<OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06">
442+
<Image>
443+
<Pixels/>
444+
</Image>
445+
</OME>
446+
"""
447+
reader = wsireader.TIFFWSIReader.__new__(wsireader.TIFFWSIReader)
448+
reader._get_ome_mpp = lambda _: None # Mock missing MPP
449+
result = reader._get_ome_objective_power(ElementTree.fromstring(xml))
450+
assert result is None

0 commit comments

Comments
 (0)