aboutsummaryrefslogtreecommitdiff
path: root/src/argaze.test/AreaOfInterest/AOI2DScene.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze.test/AreaOfInterest/AOI2DScene.py')
-rw-r--r--src/argaze.test/AreaOfInterest/AOI2DScene.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/argaze.test/AreaOfInterest/AOI2DScene.py b/src/argaze.test/AreaOfInterest/AOI2DScene.py
index 8a71ffb..35f0f17 100644
--- a/src/argaze.test/AreaOfInterest/AOI2DScene.py
+++ b/src/argaze.test/AreaOfInterest/AOI2DScene.py
@@ -149,6 +149,46 @@ class TestAOI2DSceneClass(unittest.TestCase):
self.assertEqual(aoi_ratio, 0.)
self.assertEqual(gaze_ratio, 0.)
+ def test_copy(self):
+ """Test AOI2DScene copy method."""
+
+ aoi_2D_A = AOIFeatures.AreaOfInterest([[0, 0], [0, 1], [1, 1], [1, 0]])
+ aoi_2D_B = AOIFeatures.AreaOfInterest([[1, 1], [1, 2], [2, 2], [2, 1]])
+ aoi_2d_scene = AOI2DScene.AOI2DScene({"A": aoi_2D_A, "B": aoi_2D_B})
+
+ # Check full copy
+ aoi_2d_scene_copy = aoi_2d_scene.copy()
+
+ self.assertEqual(aoi_2d_scene_copy.dimension, 2)
+ self.assertEqual(len(aoi_2d_scene_copy.items()), 2)
+ self.assertEqual(list(aoi_2d_scene_copy.keys()), ["A", "B"])
+
+ # Check cpy with exclusion
+ aoi_2d_scene_copy = aoi_2d_scene.copy(exclude=["B"])
+
+ self.assertEqual(aoi_2d_scene_copy.dimension, 2)
+ self.assertEqual(len(aoi_2d_scene_copy.items()), 1)
+ self.assertEqual(list(aoi_2d_scene_copy.keys()), ["A"])
+
+class TestTimeStampedAOIScenesClass(unittest.TestCase):
+ """Test TimeStampedAOIScenes class."""
+
+ def test___setitem__(self):
+ """Test TimeStampedAOIScenes creation."""
+
+ aoi_2D_A = AOIFeatures.AreaOfInterest([[0, 0], [0, 1], [1, 1], [1, 0]])
+ aoi_2D_B = AOIFeatures.AreaOfInterest([[1, 1], [1, 2], [2, 2], [2, 1]])
+ aoi_2d_scene = AOI2DScene.AOI2DScene({"A": aoi_2D_A, "B": aoi_2D_B})
+
+ ts_aois_scenes = AOIFeatures.TimeStampedAOIScenes()
+
+ ts_aois_scenes[0] = aoi_2d_scene
+
+ # Check that only AOIScene can be added
+ with self.assertRaises(AssertionError):
+
+ ts_aois_scenes[1] = "This string is not an AOI2DScene"
+
if __name__ == '__main__':
unittest.main() \ No newline at end of file