{"ScriptPreparationCode":null,"TestCases":[{"Name":"GetRotation A","Code":"const getRotationA = (absSpeed, sign) =\u003E {\r\n // prevent needle from going past 6 or -6\r\n const thousandsPlace = Math.max(Math.min(absSpeed / 1000, 6), -6);\r\n\r\n let result;\r\n if (thousandsPlace \u003C= 1) {\r\n result = thousandsPlace * 60;\r\n } else if (thousandsPlace \u003C= 2) {\r\n result = (thousandsPlace - 1) * 19 \u002B 60;\r\n } else {\r\n result = ((thousandsPlace - 2) / 4) * 42 \u002B 79;\r\n }\r\n return sign * result;\r\n};\r\n\r\nreturn getRotationA(85, 1);","IsDeferred":false},{"Name":"GetRotation B","Code":"const getRotationB = (speed) =\u003E {\r\n if (speed \u003C MIN_SPEED) return MIN_SPEED;\r\n if (speed \u003E MAX_SPEED) return MAX_SPEED;\r\n\r\n for (let i = 1; i \u003C SPEED_TO_DEGREE.length; i\u002B\u002B) {\r\n if (speed \u003C= SPEED_TO_DEGREE[i][0]) {\r\n const fraction =\r\n (speed - SPEED_TO_DEGREE[i - 1][0]) /\r\n (SPEED_TO_DEGREE[i][0] - SPEED_TO_DEGREE[i - 1][0]);\r\n return (\r\n SPEED_TO_DEGREE[i - 1][1] \u002B\r\n fraction * (SPEED_TO_DEGREE[i][1] - SPEED_TO_DEGREE[i - 1][1])\r\n );\r\n }\r\n }\r\n};\r\nreturn getRotationB(85);","IsDeferred":false}]}