diff --git a/PythonClient/airsim/types.py b/PythonClient/airsim/types.py index 7aef005549..261c4af6b1 100644 --- a/PythonClient/airsim/types.py +++ b/PythonClient/airsim/types.py @@ -329,7 +329,7 @@ class ImageResponse(MsgpackMixin): camera_orientation = Quaternionr() time_stamp = np.uint64(0) message = '' - pixels_as_float = 0.0 + pixels_as_float = False compress = True width = 0 height = 0 diff --git a/PythonClient/tests/__init__.py b/PythonClient/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/PythonClient/tests/test_image_response_pixels_as_float.py b/PythonClient/tests/test_image_response_pixels_as_float.py new file mode 100644 index 0000000000..452abd5511 --- /dev/null +++ b/PythonClient/tests/test_image_response_pixels_as_float.py @@ -0,0 +1,34 @@ +"""Offline check: ImageResponse.pixels_as_float is a bool (matches C++ RPC).""" +from __future__ import annotations + +import importlib.util +import sys +import types +import unittest +from pathlib import Path + + +def _load_types(): + if "msgpackrpc" not in sys.modules: + sys.modules["msgpackrpc"] = types.ModuleType("msgpackrpc") + root = Path(__file__).resolve().parents[1] / "airsim" / "types.py" + spec = importlib.util.spec_from_file_location("airsim_types_under_test", root) + mod = importlib.util.module_from_spec(spec) + assert spec.loader is not None + spec.loader.exec_module(mod) + return mod + + +class TestImageResponsePixelsAsFloat(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.types = _load_types() + + def test_pixels_as_float_is_bool_false(self): + r = self.types.ImageResponse() + self.assertIsInstance(r.pixels_as_float, bool) + self.assertIs(r.pixels_as_float, False) + + +if __name__ == "__main__": + unittest.main()