-
Notifications
You must be signed in to change notification settings - Fork 0
Update test.py #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -2,14 +2,62 @@ | |||||||||||||||||||
| from deepgaze.deepgaze.motion_detection import DiffMotionDetector | ||||||||||||||||||||
| import cv2 | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| import pytest | ||||||||||||||||||||
|
|
||||||||||||||||||||
| class TestDiffMotionDetector: | ||||||||||||||||||||
|
|
||||||||||||||||||||
| # Tests that the background image is set successfully | ||||||||||||||||||||
| def test_set_background_successfully(self): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| background_image = cv2.imread('background.jpg') | ||||||||||||||||||||
| detector.setBackground(background_image) | ||||||||||||||||||||
| assert detector.getBackground() is not None | ||||||||||||||||||||
|
|
||||||||||||||||||||
| # Tests that a binary image is returned successfully after the detection process | ||||||||||||||||||||
| def test_return_binary_image_successfully(self): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| @pytest.fixture(scope="module") | ||||||||||||||||||||
| def loaded_images(): | ||||||||||||||||||||
| background_image = cv2.imread('background.jpg') | ||||||||||||||||||||
| foreground_image = cv2.imread('foreground.jpg') | ||||||||||||||||||||
| return background_image, foreground_image | ||||||||||||||||||||
|
|
||||||||||||||||||||
| def test_return_binary_image_successfully(self, loaded_images): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| background_image, foreground_image = loaded_images | ||||||||||||||||||||
| detector.setBackground(background_image) | ||||||||||||||||||||
| binary_image = detector.returnMask(foreground_image) | ||||||||||||||||||||
| assert binary_image is not None | ||||||||||||||||||||
| detector.setBackground(background_image) | ||||||||||||||||||||
| binary_image = detector.returnMask(foreground_image) | ||||||||||||||||||||
| assert binary_image is not None | ||||||||||||||||||||
|
Comment on lines
+31
to
+32
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: To ensure the test is robust, explicitly check the contents of the binary image rather than just its existence. This helps verify that the function
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To further ensure the robustness of the tests, consider adding assertions to check the type and content of the binary image in
Comment on lines
+31
to
+32
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: To ensure that the tests are robust, include assertions to check the content of the binary image, not just its existence. This helps in verifying that the function
Suggested change
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| # Tests that a background image is set and a binary image is returned successfully after the detection process | ||||||||||||||||||||
| def test_set_background_and_return_binary_image_successfully(self): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| background_image = cv2.imread('background.jpg') | ||||||||||||||||||||
| foreground_image = cv2.imread('foreground.jpg') | ||||||||||||||||||||
| detector.setBackground(background_image) | ||||||||||||||||||||
| binary_image = detector.returnMask(foreground_image) | ||||||||||||||||||||
| assert detector.getBackground() is not None, "Background should be set" | ||||||||||||||||||||
| assert binary_image is not None, "Binary image should be generated" | ||||||||||||||||||||
| assert binary_image.shape == foreground_image.shape, "Binary image should match the shape of the foreground image" | ||||||||||||||||||||
|
|
||||||||||||||||||||
| # Tests that setting a None background image returns None | ||||||||||||||||||||
| def test_set_none_background_image_and_return_none(self): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| detector.setBackground(None) | ||||||||||||||||||||
| assert detector.getBackground() is None | ||||||||||||||||||||
|
|
||||||||||||||||||||
| # Tests that setting a None foreground image returns None | ||||||||||||||||||||
| def test_set_none_foreground_image_and_return_none(self): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| background_image = cv2.imread('background.jpg') | ||||||||||||||||||||
| detector.setBackground(background_image) | ||||||||||||||||||||
| binary_image = detector.returnMask(None) | ||||||||||||||||||||
| assert binary_image is None | ||||||||||||||||||||
|
|
||||||||||||||||||||
| # Tests that setting a None background image returns None after the detection process | ||||||||||||||||||||
| def test_set_none_background_image_and_return_none_after_detection_process(self): | ||||||||||||||||||||
| detector = DiffMotionDetector() | ||||||||||||||||||||
| detector.setBackground(None) | ||||||||||||||||||||
| assert detector.getBackground() is None | ||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To further ensure robustness, you might add assertions to check specific properties of the
binary_imagesuch as its type or shape, ensuring it meets expected criteria after processing. [medium]