Loading tests/api_client.py +7 −3 Original line number Diff line number Diff line Loading @@ -61,11 +61,15 @@ class APIconnection: } return self.post('/stage/position', json=json) def new_capture(self, use_video_port=True, keep_on_disk=False): def new_capture(self, use_video_port=True, keep_on_disk=False, resize=None): json = { "keep_on_disk": keep_on_disk, "use_video_port": use_video_port } if resize: json['size'] = {'width': resize[0], 'height': resize[1]} return self.post('/camera/capture', json=json) def get_capture(self, capture_id): Loading @@ -79,8 +83,8 @@ class APIconnection: uri_route = '/camera/capture/{}'.format(capture_id) return self.delete(uri_route) def capture(self, use_video_port=True, keep_on_disk=False, delete_after_use=True): p = self.new_capture(use_video_port=use_video_port, keep_on_disk=keep_on_disk) def capture(self, use_video_port=True, keep_on_disk=False, delete_after_use=True, resize=None): p = self.new_capture(use_video_port=use_video_port, keep_on_disk=keep_on_disk, resize=resize) capture_id = p['id'] img_array = self.get_capture(capture_id) Loading tests/test_api.py +57 −10 Original line number Diff line number Diff line Loading @@ -36,10 +36,16 @@ class TestCapture(unittest.TestCase): connection = APIconnection(host="localhost", port=5000, api_ver="v1") resolution = connection.get_config()['video_resolution'] for resize in [None, (640, 480)]: if resize: resolution = resize capture_array = connection.capture( use_video_port=True, keep_on_disk=False, delete_after_use=True) delete_after_use=True, resize=resize) self.assertTrue(capture_array.shape == (resolution[1], resolution[0], 3)) Loading @@ -47,10 +53,16 @@ class TestCapture(unittest.TestCase): connection = APIconnection(host="localhost", port=5000, api_ver="v1") resolution = connection.get_config()['image_resolution'] for resize in [None, (640, 480)]: if resize: resolution = resize capture_array = connection.capture( use_video_port=False, keep_on_disk=False, delete_after_use=True) delete_after_use=True, resize=resize) self.assertTrue(capture_array.shape == (resolution[1], resolution[0], 3)) Loading @@ -67,6 +79,41 @@ class TestStage(unittest.TestCase): for key in expected_keys: self.assertTrue(key in config) def test_stage_state(self): connection = APIconnection(host="localhost", port=5000, api_ver="v1") state = connection.get_state() self.assertTrue('stage' in state) expected_keys = [ 'position', ] for key in expected_keys: self.assertTrue(key in state['stage']) def test_movement(self): connection = APIconnection(host="localhost", port=5000, api_ver="v1") move_distance = 500 for axis in range(3): for direction in [1, -1]: pos_i_dict = connection.get_state()['stage']['position'] pos_i = [pos_i_dict['x'], pos_i_dict['y'], pos_i_dict['z']] move = [0, 0, 0] move[axis] = move_distance*direction connection.move_by(*move) pos_f_dict = connection.get_state()['stage']['position'] pos_f = [pos_f_dict['x'], pos_f_dict['y'], pos_f_dict['z']] diff = np.subtract(pos_f, pos_i) logging.debug("{} > {}".format(pos_i, pos_f)) self.assertTrue(np.array_equal(diff, move)) if __name__ == '__main__': suites = [ Loading Loading
tests/api_client.py +7 −3 Original line number Diff line number Diff line Loading @@ -61,11 +61,15 @@ class APIconnection: } return self.post('/stage/position', json=json) def new_capture(self, use_video_port=True, keep_on_disk=False): def new_capture(self, use_video_port=True, keep_on_disk=False, resize=None): json = { "keep_on_disk": keep_on_disk, "use_video_port": use_video_port } if resize: json['size'] = {'width': resize[0], 'height': resize[1]} return self.post('/camera/capture', json=json) def get_capture(self, capture_id): Loading @@ -79,8 +83,8 @@ class APIconnection: uri_route = '/camera/capture/{}'.format(capture_id) return self.delete(uri_route) def capture(self, use_video_port=True, keep_on_disk=False, delete_after_use=True): p = self.new_capture(use_video_port=use_video_port, keep_on_disk=keep_on_disk) def capture(self, use_video_port=True, keep_on_disk=False, delete_after_use=True, resize=None): p = self.new_capture(use_video_port=use_video_port, keep_on_disk=keep_on_disk, resize=resize) capture_id = p['id'] img_array = self.get_capture(capture_id) Loading
tests/test_api.py +57 −10 Original line number Diff line number Diff line Loading @@ -36,10 +36,16 @@ class TestCapture(unittest.TestCase): connection = APIconnection(host="localhost", port=5000, api_ver="v1") resolution = connection.get_config()['video_resolution'] for resize in [None, (640, 480)]: if resize: resolution = resize capture_array = connection.capture( use_video_port=True, keep_on_disk=False, delete_after_use=True) delete_after_use=True, resize=resize) self.assertTrue(capture_array.shape == (resolution[1], resolution[0], 3)) Loading @@ -47,10 +53,16 @@ class TestCapture(unittest.TestCase): connection = APIconnection(host="localhost", port=5000, api_ver="v1") resolution = connection.get_config()['image_resolution'] for resize in [None, (640, 480)]: if resize: resolution = resize capture_array = connection.capture( use_video_port=False, keep_on_disk=False, delete_after_use=True) delete_after_use=True, resize=resize) self.assertTrue(capture_array.shape == (resolution[1], resolution[0], 3)) Loading @@ -67,6 +79,41 @@ class TestStage(unittest.TestCase): for key in expected_keys: self.assertTrue(key in config) def test_stage_state(self): connection = APIconnection(host="localhost", port=5000, api_ver="v1") state = connection.get_state() self.assertTrue('stage' in state) expected_keys = [ 'position', ] for key in expected_keys: self.assertTrue(key in state['stage']) def test_movement(self): connection = APIconnection(host="localhost", port=5000, api_ver="v1") move_distance = 500 for axis in range(3): for direction in [1, -1]: pos_i_dict = connection.get_state()['stage']['position'] pos_i = [pos_i_dict['x'], pos_i_dict['y'], pos_i_dict['z']] move = [0, 0, 0] move[axis] = move_distance*direction connection.move_by(*move) pos_f_dict = connection.get_state()['stage']['position'] pos_f = [pos_f_dict['x'], pos_f_dict['y'], pos_f_dict['z']] diff = np.subtract(pos_f, pos_i) logging.debug("{} > {}".format(pos_i, pos_f)) self.assertTrue(np.array_equal(diff, move)) if __name__ == '__main__': suites = [ Loading