From d63bb2f1cfaf85bc5e75c77d139d2b2f1c57a86f Mon Sep 17 00:00:00 2001 From: Chris Gerth Date: Mon, 11 Dec 2023 23:10:42 -0600 Subject: [PATCH] better unit test passing --- photon-lib/py/photonlibpy/multiTargetPNPResult.py | 10 +++++----- photon-lib/py/photonlibpy/photonPipelineResult.py | 6 +++--- photon-lib/py/photonlibpy/photonTrackedTarget.py | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/photon-lib/py/photonlibpy/multiTargetPNPResult.py b/photon-lib/py/photonlibpy/multiTargetPNPResult.py index 2b6b0e90fe..28cd0d6524 100644 --- a/photon-lib/py/photonlibpy/multiTargetPNPResult.py +++ b/photon-lib/py/photonlibpy/multiTargetPNPResult.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass +from dataclasses import dataclass, field from wpimath.geometry import Transform3d from photonlibpy.packet import Packet @@ -9,8 +9,8 @@ class PNPResult: PACK_SIZE_BYTES = 1 + (_NUM_BYTES_IN_FLOAT * 7 * 2) + (_NUM_BYTES_IN_FLOAT* 3) isPresent:bool = False - best:Transform3d = Transform3d() - alt:Transform3d = Transform3d() + best:Transform3d = field(default_factory=Transform3d) + alt:Transform3d = field(default_factory=Transform3d) ambiguity:float = 0.0 bestReprojError:float = 0.0 altReprojError:float = 0.0 @@ -31,8 +31,8 @@ class MultiTargetPNPResult: # pnpresult + MAX_IDS possible targets (arbitrary upper limit that should never be hit, ideally) _PACK_SIZE_BYTES = PNPResult.PACK_SIZE_BYTES + (1 * _MAX_IDS) - estimatedPose:PNPResult = PNPResult() - fiducialIDsUsed:list[int] = [] + estimatedPose:PNPResult = field(default_factory=PNPResult) + fiducialIDsUsed:list[int] = field(default_factory=list) def createFromPacket(self, packet:Packet) -> Packet: self.estimatedPose = PNPResult() diff --git a/photon-lib/py/photonlibpy/photonPipelineResult.py b/photon-lib/py/photonlibpy/photonPipelineResult.py index d9bdabace3..82a322e4fc 100644 --- a/photon-lib/py/photonlibpy/photonPipelineResult.py +++ b/photon-lib/py/photonlibpy/photonPipelineResult.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass +from dataclasses import dataclass, field from photonlibpy.multiTargetPNPResult import MultiTargetPNPResult from photonlibpy.packet import Packet @@ -8,8 +8,8 @@ class PhotonPipelineResult: latencyMillis:float = -1.0 timestampSec:float = -1.0 - targets:list[PhotonTrackedTarget] = [] - multiTagResult:MultiTargetPNPResult = MultiTargetPNPResult() + targets:list[PhotonTrackedTarget] = field(default_factory=list) + multiTagResult:MultiTargetPNPResult = field(default_factory=MultiTargetPNPResult) def populateFromPacket(self, packet:Packet) -> Packet: self.targets = [] diff --git a/photon-lib/py/photonlibpy/photonTrackedTarget.py b/photon-lib/py/photonlibpy/photonTrackedTarget.py index d98359147a..9ac7e044d3 100644 --- a/photon-lib/py/photonlibpy/photonTrackedTarget.py +++ b/photon-lib/py/photonlibpy/photonTrackedTarget.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass +from dataclasses import dataclass, field from wpimath.geometry import Transform3d from photonlibpy.packet import Packet @@ -21,8 +21,8 @@ class PhotonTrackedTarget: area:float = 0.0 skew:float = 0.0 fiducialId:int = -1 - bestCameraToTarget:Transform3d = Transform3d() - altCameraToTarget:Transform3d = Transform3d() + bestCameraToTarget:Transform3d = field(default_factory=Transform3d) + altCameraToTarget:Transform3d = field(default_factory=Transform3d) minAreaRectCorners:list[TargetCorner]|None = None detectedCorners:list[TargetCorner]|None = None poseAmbiguity:float = 0.0