Skip to content

Commit 043ddca

Browse files
committed
update tests for added methods
1 parent 1ce2539 commit 043ddca

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

src/astro_image_display_api/api_test.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,3 +782,24 @@ def test_save_overwrite(self, tmp_path):
782782

783783
# Using overwrite should save successfully
784784
self.image.save(filename, overwrite=True)
785+
786+
def test_get_image_labels(self, data):
787+
# the test viewer begins with a default empty image
788+
assert len(self.image.get_image_labels()) == 1
789+
assert self.image.get_image_labels()[0] == None
790+
assert isinstance(self.image.get_image_labels(), tuple)
791+
792+
self.image.load_image(data, image_label="test")
793+
assert len(self.image.get_image_labels()) == 2
794+
assert self.image.get_image_labels()[-1] == 'test'
795+
796+
def test_get_image(self, data):
797+
self.image.load_image(data, image_label="test")
798+
799+
# currently the type is not specified in the API
800+
assert self.image.get_image() is not None
801+
assert self.image.get_image(image_label="test") is not None
802+
803+
with pytest.raises(ValueError, match="[Ii]mage label.*not found"):
804+
self.image.get_image(image_label="not a valid label")
805+

src/astro_image_display_api/image_viewer_logic.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,18 @@ def load_image(
330330
# working with the new image.
331331
self._wcs = self._images[image_label].wcs
332332

333+
334+
def get_image(self, image_label: str | None = None):
335+
image_label = self._resolve_image_label(image_label)
336+
if image_label not in self._images:
337+
raise ValueError(
338+
f"Image label '{image_label}' not found. Please load an image first."
339+
)
340+
return self._images[image_label]
341+
342+
def get_image_labels(self):
343+
return tuple(self._images.keys())
344+
333345
def _determine_largest_dimension(self, shape: tuple[int, int]) -> int:
334346
"""
335347
Determine which index is the largest dimension.

src/astro_image_display_api/interface_definition.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ def get_image(
7979
@abstractmethod
8080
def get_image_labels(
8181
self,
82-
) -> list[str]:
82+
) -> tuple[str]:
8383
"""
8484
Get the labels of the loaded images.
8585
8686
Returns
8787
-------
88-
image_labels: list of str
88+
image_labels: tuple of str
8989
The labels of the loaded images.
9090
"""
9191
raise NotImplementedError

0 commit comments

Comments
 (0)