33 ANNOTATIONS_KEY ,
44 FRAMES_KEY ,
55 IMAGE_KEY ,
6+ IMAGE_URL_KEY ,
67 LENGTH_KEY ,
78 METADATA_KEY ,
89 NUM_SENSORS_KEY ,
910 POINTCLOUD_KEY ,
11+ POINTCLOUD_URL_KEY ,
1012 REFERENCE_ID_KEY ,
1113 SCENES_KEY ,
1214 TYPE_KEY ,
1820 CuboidAnnotation ,
1921 LidarScene ,
2022 Frame ,
23+ DatasetItem ,
2124)
2225
2326from nucleus .scene import (
@@ -43,7 +46,7 @@ def dataset(CLIENT):
4346 assert response == {"message" : "Beginning dataset deletion..." }
4447
4548
46- def test_frame_add_item (dataset ):
49+ def test_frame_add_item ():
4750 frame = Frame (index = 0 )
4851 frame .add_item (TEST_DATASET_ITEMS [0 ], "camera" )
4952 frame .add_item (TEST_LIDAR_ITEMS [0 ], "lidar" )
@@ -69,7 +72,51 @@ def test_frame_add_item(dataset):
6972 }
7073
7174
72- def test_scene_property_methods (dataset ):
75+ def test_scene_from_json ():
76+ payload = TEST_LIDAR_SCENES
77+ scene_json = payload [SCENES_KEY ][0 ]
78+ scene = LidarScene .from_json (scene_json )
79+
80+ frames = scene_json [FRAMES_KEY ]
81+ camera_item_1 = frames [0 ]["camera" ]
82+ camera_item = DatasetItem (
83+ camera_item_1 [IMAGE_URL_KEY ],
84+ camera_item_1 [REFERENCE_ID_KEY ],
85+ metadata = camera_item_1 [METADATA_KEY ],
86+ )
87+ lidar_item_1 = frames [0 ]["lidar" ]
88+ lidar_item_f1 = DatasetItem (
89+ pointcloud_location = lidar_item_1 [POINTCLOUD_URL_KEY ],
90+ reference_id = lidar_item_1 [REFERENCE_ID_KEY ],
91+ metadata = lidar_item_1 [METADATA_KEY ],
92+ )
93+ expected_items_1 = {
94+ "camera" : camera_item ,
95+ "lidar" : lidar_item_f1 ,
96+ }
97+ lidar_item_2 = frames [1 ]["lidar" ]
98+ lidar_item_f2 = DatasetItem (
99+ pointcloud_location = lidar_item_2 [POINTCLOUD_URL_KEY ],
100+ reference_id = lidar_item_2 [REFERENCE_ID_KEY ],
101+ metadata = lidar_item_2 [METADATA_KEY ],
102+ )
103+ expected_items_2 = {
104+ "lidar" : lidar_item_f2 ,
105+ }
106+
107+ expected_frames = [Frame (expected_items_1 ), Frame (expected_items_2 )]
108+ expected_scene = LidarScene (
109+ scene_json [REFERENCE_ID_KEY ], expected_frames , metadata = {}
110+ )
111+ assert sorted (
112+ scene .get_items (), key = lambda item : item .reference_id
113+ ) == sorted (expected_scene .get_items (), key = lambda item : item .reference_id )
114+ assert scene .get_frames () == expected_scene .get_frames ()
115+ assert set (scene .get_sensors ()) == set (expected_scene .get_sensors ())
116+ assert scene .to_payload () == expected_scene .to_payload ()
117+
118+
119+ def test_scene_property_methods ():
73120 payload = TEST_LIDAR_SCENES
74121 scene_json = payload [SCENES_KEY ][0 ]
75122 scene = LidarScene .from_json (scene_json )
@@ -86,7 +133,7 @@ def test_scene_property_methods(dataset):
86133 }
87134
88135
89- def test_scene_add_item (dataset ):
136+ def test_scene_add_item ():
90137 scene_ref_id = "scene_1"
91138 scene = LidarScene (scene_ref_id )
92139 scene .add_item (0 , "camera" , TEST_DATASET_ITEMS [0 ])
@@ -139,7 +186,7 @@ def test_scene_add_item(dataset):
139186 }
140187
141188
142- def test_scene_add_frame (dataset ):
189+ def test_scene_add_frame ():
143190 frame_1 = Frame ()
144191 frame_1 .add_item (TEST_DATASET_ITEMS [0 ], "camera" )
145192 frame_1 .add_item (TEST_LIDAR_ITEMS [0 ], "lidar" )
0 commit comments