@@ -2,7 +2,6 @@ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
22import { MiraType } from "@/mirabuf/MirabufLoader"
33import MirabufSceneObject from "@/mirabuf/MirabufSceneObject"
44import RobotDimensionTracker from "@/systems/match_mode/RobotDimensionTracker"
5- import type SceneObject from "@/systems/scene/SceneObject"
65import SimulationSystem from "@/systems/simulation/SimulationSystem"
76import World from "@/systems/World"
87
@@ -35,12 +34,6 @@ interface MockNonRobotObject {
3534 dispose : ( ) => void
3635}
3736
38- interface MockSceneRenderer {
39- sceneObjects : Map < number , MockRobotObject | MockNonRobotObject >
40- }
41-
42- type TrackerUpdateParam = Parameters < typeof RobotDimensionTracker . update > [ 0 ]
43-
4437const mockMatchModeInstance = {
4538 isMatchEnabled : vi . fn ( ( ) => true ) ,
4639}
@@ -63,16 +56,21 @@ vi.mock("@/systems/simulation/SimulationSystem", () => ({
6356 } ,
6457} ) )
6558
66- vi . mock ( "@/systems/World" , ( ) => ( {
59+ type RecursivePartial < T > = {
60+ [ P in keyof T ] ?: RecursivePartial < T [ P ] >
61+ }
62+
63+ vi . mock ( "@/systems/World" , ( ) : { default : RecursivePartial < typeof World > } => ( {
6764 default : {
6865 sceneRenderer : {
69- sceneObjects : new Map ( ) ,
66+ mirabufSceneObjects : {
67+ getRobots : vi . fn ( ) ,
68+ } ,
7069 } ,
7170 } ,
7271} ) )
7372
7473describe ( "RobotDimensionTracker" , ( ) => {
75- let mockSceneRenderer : MockSceneRenderer
7674 let mockRobot1 : MockRobotObject
7775 let mockRobot2 : MockRobotObject
7876 let mockNonRobot : MockNonRobotObject
@@ -124,18 +122,10 @@ describe("RobotDimensionTracker", () => {
124122 update : vi . fn ( ) ,
125123 dispose : vi . fn ( ) ,
126124 }
127-
128- mockSceneRenderer = {
129- sceneObjects : new Map ( [
130- [ 1 , mockRobot1 ] ,
131- [ 2 , mockRobot2 ] ,
132- [ 3 , mockNonRobot ] ,
133- ] ) ,
134- }
135-
136- World . sceneRenderer . sceneObjects . set ( 1 , mockRobot1 as unknown as SceneObject )
137- World . sceneRenderer . sceneObjects . set ( 2 , mockRobot2 as unknown as SceneObject )
138- World . sceneRenderer . sceneObjects . set ( 3 , mockNonRobot as unknown as SceneObject )
125+ ; ( World . sceneRenderer . mirabufSceneObjects . getRobots as ReturnType < typeof vi . fn > ) . mockReturnValue ( [
126+ mockRobot1 ,
127+ mockRobot2 ,
128+ ] )
139129 } )
140130
141131 afterEach ( ( ) => {
@@ -144,7 +134,7 @@ describe("RobotDimensionTracker", () => {
144134
145135 test ( "config values determine which dimension method is used" , ( ) => {
146136 RobotDimensionTracker . setConfigValues ( false , 2 , 15 , 1.5 , 15 )
147- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
137+ RobotDimensionTracker . update ( )
148138
149139 expect ( mockRobot1 . getDimensions ) . toHaveBeenCalled ( )
150140 expect ( mockRobot1 . getDimensionsWithoutRotation ) . not . toHaveBeenCalled ( )
@@ -156,7 +146,7 @@ describe("RobotDimensionTracker", () => {
156146 mockRobot1 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 2.0 , width : 1.0 , depth : 1.0 } )
157147 mockRobot2 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 3.5 , width : 1.0 , depth : 1.0 } )
158148
159- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
149+ RobotDimensionTracker . update ( )
160150
161151 expect ( SimulationSystem . robotPenalty ) . toHaveBeenCalledWith ( mockRobot2 , 5 , expect . any ( String ) )
162152 expect ( SimulationSystem . robotPenalty ) . not . toHaveBeenCalledWith (
@@ -179,7 +169,7 @@ describe("RobotDimensionTracker", () => {
179169
180170 mockRobot2 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 2.0 , width : 1.7 , depth : 1.0 } )
181171
182- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
172+ RobotDimensionTracker . update ( )
183173
184174 expect ( SimulationSystem . robotPenalty ) . toHaveBeenCalledWith ( mockRobot2 , 2 , expect . any ( String ) )
185175 expect ( SimulationSystem . robotPenalty ) . not . toHaveBeenCalledWith (
@@ -202,7 +192,7 @@ describe("RobotDimensionTracker", () => {
202192
203193 mockRobot2 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 2.0 , width : 1.0 , depth : 1.7 } )
204194
205- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
195+ RobotDimensionTracker . update ( )
206196
207197 expect ( SimulationSystem . robotPenalty ) . toHaveBeenCalledWith ( mockRobot2 , 3 , expect . any ( String ) )
208198 expect ( SimulationSystem . robotPenalty ) . not . toHaveBeenCalledWith (
@@ -218,7 +208,7 @@ describe("RobotDimensionTracker", () => {
218208 mockRobot1 . getDimensions = vi . fn ( ) . mockReturnValue ( { height : 2.0 , width : 1.0 , depth : 1.2 } )
219209 mockRobot2 . getDimensions = vi . fn ( ) . mockReturnValue ( { height : 2.0 , width : 1.0 , depth : 1.2 } )
220210
221- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
211+ RobotDimensionTracker . update ( )
222212
223213 expect ( SimulationSystem . robotPenalty ) . not . toHaveBeenCalled ( )
224214 } )
@@ -228,8 +218,8 @@ describe("RobotDimensionTracker", () => {
228218
229219 mockRobot1 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 12 , width : 1.0 , depth : 1.0 } )
230220
231- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
232- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
221+ RobotDimensionTracker . update ( )
222+ RobotDimensionTracker . update ( )
233223
234224 expect ( SimulationSystem . robotPenalty ) . toHaveBeenCalledTimes ( 1 )
235225 } )
@@ -240,7 +230,7 @@ describe("RobotDimensionTracker", () => {
240230 mockRobot1 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 12 , width : 1.0 , depth : 1.0 } )
241231 mockRobot2 . getDimensionsWithoutRotation = vi . fn ( ) . mockReturnValue ( { height : 12 , width : 1.0 , depth : 1.0 } )
242232
243- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
233+ RobotDimensionTracker . update ( )
244234
245235 expect ( SimulationSystem . robotPenalty ) . toHaveBeenCalledTimes ( 2 )
246236 } )
@@ -250,7 +240,7 @@ describe("RobotDimensionTracker", () => {
250240
251241 mockNonRobot . getDimensions = vi . fn ( ) . mockReturnValue ( { height : 12 , width : 1.0 , depth : 1.0 } )
252242
253- RobotDimensionTracker . update ( mockSceneRenderer as unknown as TrackerUpdateParam )
243+ RobotDimensionTracker . update ( )
254244
255245 expect ( SimulationSystem . robotPenalty ) . not . toHaveBeenCalled ( )
256246 } )
0 commit comments