Update unit tests for capture mode.
This commit is contained in:
parent
9ed488e37d
commit
c1915759b4
5 changed files with 102 additions and 69 deletions
|
|
@ -33,8 +33,8 @@ def test_add_and_get_image():
|
|||
"""Check images can be captured and retrieved."""
|
||||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image = random_image()
|
||||
buffer_id = mem_buf.add_image(misc_image, random_metadata())
|
||||
returned_image, _ = mem_buf.get_image(buffer_id)
|
||||
buffer_id = mem_buf.add_image(misc_image, random_metadata(), "standard")
|
||||
returned_image, _, _ = mem_buf.get_image(buffer_id)
|
||||
# It is the same image
|
||||
assert misc_image is returned_image
|
||||
# It is now removed from memory
|
||||
|
|
@ -46,12 +46,12 @@ def test_add_and_get_image_twice():
|
|||
"""Check images can be retrieved twice if remove flag set false."""
|
||||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image = random_image()
|
||||
buffer_id = mem_buf.add_image(misc_image, random_metadata())
|
||||
returned_image, _ = mem_buf.get_image(buffer_id, remove=False)
|
||||
buffer_id = mem_buf.add_image(misc_image, random_metadata(), "standard")
|
||||
returned_image, _, _ = mem_buf.get_image(buffer_id, remove=False)
|
||||
# It is the same image
|
||||
assert misc_image is returned_image
|
||||
# It is still in memory
|
||||
returned_image, _ = mem_buf.get_image(buffer_id)
|
||||
returned_image, _, _ = mem_buf.get_image(buffer_id)
|
||||
assert misc_image is returned_image
|
||||
# It is now removed from memory
|
||||
with pytest.raises(NoImageInMemoryError):
|
||||
|
|
@ -62,8 +62,8 @@ def test_get_without_id():
|
|||
"""Check images can be captured and retrieved without ID."""
|
||||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image = random_image()
|
||||
mem_buf.add_image(misc_image, random_metadata())
|
||||
returned_image, _ = mem_buf.get_image()
|
||||
mem_buf.add_image(misc_image, random_metadata(), "standard")
|
||||
returned_image, _, _ = mem_buf.get_image()
|
||||
# It is the same image
|
||||
assert misc_image is returned_image
|
||||
# It is now removed from memory
|
||||
|
|
@ -76,10 +76,20 @@ def test_get_two_images():
|
|||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image1 = random_image()
|
||||
misc_image2 = random_image()
|
||||
buffer_id1 = mem_buf.add_image(misc_image1, random_metadata(), buffer_max=2)
|
||||
buffer_id2 = mem_buf.add_image(misc_image2, random_metadata(), buffer_max=2)
|
||||
returned_image1, _ = mem_buf.get_image(buffer_id1)
|
||||
returned_image2, _ = mem_buf.get_image(buffer_id2)
|
||||
buffer_id1 = mem_buf.add_image(
|
||||
misc_image1, random_metadata(), "standard", buffer_max=2
|
||||
)
|
||||
buffer_id1 = mem_buf.add_image(
|
||||
misc_image1, random_metadata(), "standard", buffer_max=2
|
||||
)
|
||||
buffer_id1 = mem_buf.add_image(
|
||||
misc_image1, random_metadata(), "standard", buffer_max=2
|
||||
)
|
||||
buffer_id2 = mem_buf.add_image(
|
||||
misc_image2, random_metadata(), "standard", buffer_max=2
|
||||
)
|
||||
returned_image1, _, _ = mem_buf.get_image(buffer_id1)
|
||||
returned_image2, _, _ = mem_buf.get_image(buffer_id2)
|
||||
# It they the same images
|
||||
assert misc_image1 is returned_image1
|
||||
assert misc_image2 is returned_image2
|
||||
|
|
@ -95,11 +105,11 @@ def test_get_two_images_without_setting_buffer_size():
|
|||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image1 = random_image()
|
||||
misc_image2 = random_image()
|
||||
buffer_id1 = mem_buf.add_image(misc_image1, random_metadata())
|
||||
buffer_id2 = mem_buf.add_image(misc_image2, random_metadata())
|
||||
buffer_id1 = mem_buf.add_image(misc_image1, random_metadata(), "standard")
|
||||
buffer_id2 = mem_buf.add_image(misc_image2, random_metadata(), "standard")
|
||||
with pytest.raises(NoImageInMemoryError):
|
||||
mem_buf.get_image(buffer_id1)
|
||||
returned_image2, _ = mem_buf.get_image(buffer_id2)
|
||||
returned_image2, _, _ = mem_buf.get_image(buffer_id2)
|
||||
# Image 2 the expected image
|
||||
assert misc_image2 is returned_image2
|
||||
|
||||
|
|
@ -110,16 +120,20 @@ def test_buffer_size_changing():
|
|||
misc_image1 = random_image()
|
||||
misc_image2 = random_image()
|
||||
misc_image3 = random_image()
|
||||
buffer_id1 = mem_buf.add_image(misc_image1, random_metadata(), buffer_max=3)
|
||||
buffer_id2 = mem_buf.add_image(misc_image2, random_metadata(), buffer_max=3)
|
||||
buffer_id1 = mem_buf.add_image(
|
||||
misc_image1, random_metadata(), "standard", buffer_max=3
|
||||
)
|
||||
buffer_id2 = mem_buf.add_image(
|
||||
misc_image2, random_metadata(), "standard", buffer_max=3
|
||||
)
|
||||
# Third capture doesn't set buffer size, so it will be reset
|
||||
buffer_id3 = mem_buf.add_image(misc_image3, random_metadata())
|
||||
buffer_id3 = mem_buf.add_image(misc_image3, random_metadata(), "standard")
|
||||
# As buffer size was reset, images 1 and 2 are deleted
|
||||
with pytest.raises(NoImageInMemoryError):
|
||||
mem_buf.get_image(buffer_id1)
|
||||
with pytest.raises(NoImageInMemoryError):
|
||||
mem_buf.get_image(buffer_id2)
|
||||
returned_image3, _ = mem_buf.get_image(buffer_id3)
|
||||
returned_image3, _, _ = mem_buf.get_image(buffer_id3)
|
||||
# Image 3 the expected image
|
||||
assert misc_image3 is returned_image3
|
||||
|
||||
|
|
@ -129,9 +143,9 @@ def test_capture_two_images_get_without_id():
|
|||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image1 = random_image()
|
||||
misc_image2 = random_image()
|
||||
mem_buf.add_image(misc_image1, random_metadata(), buffer_max=2)
|
||||
mem_buf.add_image(misc_image2, random_metadata(), buffer_max=2)
|
||||
returned_image, _ = mem_buf.get_image()
|
||||
mem_buf.add_image(misc_image1, random_metadata(), "standard", buffer_max=2)
|
||||
mem_buf.add_image(misc_image2, random_metadata(), "standard", buffer_max=2)
|
||||
returned_image, _, _ = mem_buf.get_image()
|
||||
# When buffer_id is not specified, the most recent image (image2) is expected to
|
||||
# be retrieved
|
||||
assert returned_image is misc_image2
|
||||
|
|
@ -148,7 +162,9 @@ def test_buffer_size_respected():
|
|||
buffer_ids = []
|
||||
for _i in range(10):
|
||||
image = random_image()
|
||||
buffer_id = mem_buf.add_image(image, random_metadata(), buffer_max=5)
|
||||
buffer_id = mem_buf.add_image(
|
||||
image, random_metadata(), "standard", buffer_max=5
|
||||
)
|
||||
images.append(image)
|
||||
buffer_ids.append(buffer_id)
|
||||
|
||||
|
|
@ -157,7 +173,7 @@ def test_buffer_size_respected():
|
|||
with pytest.raises(NoImageInMemoryError):
|
||||
mem_buf.get_image(buffer_id)
|
||||
else:
|
||||
returned_image, _ = mem_buf.get_image(buffer_id)
|
||||
returned_image, _, _ = mem_buf.get_image(buffer_id)
|
||||
assert image is returned_image
|
||||
|
||||
|
||||
|
|
@ -169,7 +185,9 @@ def test_clear_buffer():
|
|||
buffer_ids = []
|
||||
for _i in range(10):
|
||||
image = random_image()
|
||||
buffer_id = mem_buf.add_image(image, random_metadata(), buffer_max=10)
|
||||
buffer_id = mem_buf.add_image(
|
||||
image, random_metadata(), "standard", buffer_max=10
|
||||
)
|
||||
images.append(image)
|
||||
buffer_ids.append(buffer_id)
|
||||
|
||||
|
|
@ -192,7 +210,7 @@ def test_get_metadata_too():
|
|||
for _i in range(10):
|
||||
image = random_image()
|
||||
metadata = random_metadata()
|
||||
buffer_id = mem_buf.add_image(image, metadata, buffer_max=10)
|
||||
buffer_id = mem_buf.add_image(image, metadata, "standard", buffer_max=10)
|
||||
images.append(image)
|
||||
metadatas.append(metadata)
|
||||
buffer_ids.append(buffer_id)
|
||||
|
|
@ -202,6 +220,19 @@ def test_get_metadata_too():
|
|||
|
||||
# Check both image and metadata
|
||||
for image, metadata, buffer_id in zipped:
|
||||
returned_image, returned_metadata = mem_buf.get_image(buffer_id)
|
||||
returned_image, returned_metadata, _ = mem_buf.get_image(buffer_id)
|
||||
assert image is returned_image
|
||||
assert metadata is returned_metadata
|
||||
|
||||
|
||||
def test_mode_is_returned():
|
||||
"""Capture 10 images with metadata and check metadata is returned as expected."""
|
||||
mem_buf = CameraMemoryBuffer()
|
||||
misc_image = random_image()
|
||||
buffer_id = mem_buf.add_image(misc_image, random_metadata(), "standard")
|
||||
_, _, mode = mem_buf.get_image(buffer_id)
|
||||
assert mode == "standard"
|
||||
|
||||
buffer_id = mem_buf.add_image(misc_image, random_metadata(), "foobar")
|
||||
_, _, mode = mem_buf.get_image(buffer_id)
|
||||
assert mode == "foobar"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue