<?xml version="1.0" encoding="UTF-8"?>
<testExecutions version="1">
  <file path="src/__tests__/app.spec.ts">
    <testCase name="App.vue - should inflate component" duration="130" />
    <testCase name="App.vue - should loadScan" duration="50" />
  </file>
  <file path="src/__tests__/main.spec.ts">
    <testCase name="index tests - should resolve loadViewer" duration="2002" />
    <testCase name="index tests - should resolve loadSession 3crds url" duration="855" />
    <testCase name="index tests - should resolve loadSession 3crms url" duration="686" />
    <testCase name="index tests - should resolve loadSession 3crs url" duration="639" />
    <testCase name="index tests - should reject loadSession invalid url" duration="629" />
  </file>
  <file path="src/components/demo/__tests__/CloudDropZone.spec.ts">
    <testCase name="Cloud DropZone Component - should render the drop zone correctly" duration="138" />
    <testCase name="Cloud DropZone Component - should add drag-over class on dragover and remove it on drag leave" duration="43" />
    <testCase name="Cloud DropZone Component - should add drag-over class on drag enter" duration="38" />
    <testCase name="Cloud DropZone Component - should call onFilesDropped with files on drop" duration="47" />
    <testCase name="Cloud DropZone Component - should handle drop event with no files" duration="34" />
    <testCase name="Cloud DropZone Component - should call onFilesDropped with files when files are selected" duration="42" />
    <testCase name="Cloud DropZone Component - should log a warning when no files are selected" duration="20" />
  </file>
  <file path="src/components/demo/__tests__/DemoAvatarDropdownMenu.spec.ts">
    <testCase name="DemoAvatarDropdownMenu - should render correctly and trigger actions" duration="154" />
  </file>
  <file path="src/components/demo/__tests__/DemoInfoModal.spec.ts">
    <testCase name="DemoLicenceInfoModal tests - should mount" duration="94" />
  </file>
  <file path="src/components/demo/__tests__/DemoNotificationNavigationDrawer.spec.ts">
    <testCase name="NotificationDrawer.vue - renders correctly with notifications" duration="433" />
  </file>
  <file path="src/components/demo/__tests__/DemoUpgradePlanModal.spec.ts">
    <testCase name="DemoLicenceEnableCloudStorageModal tests - should mount" duration="93" />
  </file>
  <file path="src/components/demo/__tests__/UploadDicomToCloudModal.spec.ts">
    <testCase name="UploadDicomToCloudModal tests - should mount" duration="270" />
    <testCase name="UploadDicomToCloudModal tests - should close modal" duration="131" />
    <testCase name="UploadDicomToCloudModal tests - should close modal via cancel" duration="121" />
    <testCase name="UploadDicomToCloudModal tests - should close modal" duration="109" />
    <testCase name="UploadDicomToCloudModal tests - should open pricing url" duration="146" />
    <testCase name="UploadDicomToCloudModal tests - should get current progress 50%" duration="83" />
    <testCase name="UploadDicomToCloudModal tests - should get current progress 95%" duration="71" />
    <testCase name="UploadDicomToCloudModal tests - should get current progress 0" duration="74" />
    <testCase name="UploadDicomToCloudModal tests - should delete no file" duration="92" />
    <testCase name="UploadDicomToCloudModal tests - should execute interval n + 1 times" duration="140" />
    <testCase name="UploadDicomToCloudModal tests - should delete 1 file" duration="1057" />
    <testCase name="UploadDicomToCloudModal tests - should delete 1 file through template" duration="175" />
    <testCase name="UploadDicomToCloudModal tests - should retry 1 file" duration="221" />
    <testCase name="UploadDicomToCloudModal tests - should retry 1 file through template" duration="246" />
    <testCase name="UploadDicomToCloudModal tests - should show uploading linear" duration="192" />
    <testCase name="UploadDicomToCloudModal tests - should onComplete" duration="77" />
  </file>
  <file path="src/components/demo/__tests__/demo-payload.spec.ts">
    <testCase name="demo payload tests - should exist" duration="2" />
  </file>
  <file path="src/components/modal/__tests__/ActionRail.spec.ts">
    <testCase name="ActionRail tests - should mount" duration="103" />
  </file>
  <file path="src/components/modal/__tests__/Viewer3cr.spec.ts">
    <testCase name="Viewer3cr tests - inflates" duration="689" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.Brightness" duration="566" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.Contrast" duration="654" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.Opacity" duration="785" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.WindowLower" duration="720" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.WindowUpper" duration="686" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.ThresholdLower" duration="622" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Display.ThresholdUpper" duration="559" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.TransverseLower" duration="553" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Orientations.Transverse.Slice" duration="590" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.TransverseUpper" duration="570" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.SagittalLower" duration="595" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Orientations.Sagittal.Slice" duration="718" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.SagittalUpper" duration="852" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.CoronalLower" duration="770" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Orientations.Coronal.Slice" duration="795" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.CoronalUpper" duration="669" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.Slice.CoronalUpper transaction disabled" duration="683" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.InteractionSettings.PanSensivitity transaction disabled" duration="683" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.InteractionSettings.PanSensivitity" duration="608" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.InteractionSettings.ZoomSensitivity" duration="607" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.InteractionSettings.RotateSensitivity" duration="653" />
    <testCase name="Viewer3cr tests - watchers - scanState.value.InteractionSettings.CameraRotateSensitivity" duration="741" />
    <testCase name="Viewer3cr tests - watches scanState" duration="544" />
    <testCase name="Viewer3cr tests - tSlider should be set" duration="721" />
    <testCase name="Viewer3cr tests - sSlider should be set" duration="699" />
    <testCase name="Viewer3cr tests - cSlider should be set" duration="619" />
    <testCase name="Viewer3cr tests - windowSlider should  set" duration="714" />
    <testCase name="Viewer3cr tests - thresholdSlider should set" duration="620" />
    <testCase name="Viewer3cr tests - tSlider should set" duration="620" />
    <testCase name="Viewer3cr tests - sSlider should set" duration="603" />
    <testCase name="Viewer3cr tests - cSlider should set" duration="569" />
    <testCase name="Viewer3cr tests - should isLayout2x2" duration="615" />
    <testCase name="Viewer3cr tests - should isLayout1x3" duration="702" />
    <testCase name="Viewer3cr tests - should getCurrentGreyscalePreset" duration="775" />
    <testCase name="Viewer3cr tests - should getCurrentGreyscalePreset" duration="626" />
    <testCase name="Viewer3cr tests - should getCurrentGreyscalePreset" duration="502" />
    <testCase name="Viewer3cr tests - should getCurrentGreyscalePreset" duration="494" />
    <testCase name="Viewer3cr tests - should close dialog" duration="1327" />
    <testCase name="Viewer3cr tests - should close dialog appbar" duration="1179" />
    <testCase name="Viewer3cr tests - should ViewerIntro emit start" duration="2292" />
    <testCase name="Viewer3cr tests - should ViewerIntro set value" duration="1285" />
    <testCase name="Viewer3cr tests - should ViewerTour set value" duration="1290" />
    <testCase name="Viewer3cr tests - should setValue" duration="4325" />
    <testCase name="Viewer3cr tests - should v-model modals" duration="1273" />
    <testCase name="Viewer3cr tests - should set settings-menu model" duration="702" />
  </file>
  <file path="src/components/modal/__tests__/Viewer3crWebGL.spec.ts">
    <testCase name="Viewer3crWebGL spec - creates instance" duration="179" />
    <testCase name="Viewer3crWebGL spec - should emit wheel event" duration="65" />
    <testCase name="Viewer3crWebGL spec - should emit mouseover event" duration="40" />
    <testCase name="Viewer3crWebGL spec - should emit mouseout event" duration="22" />
    <testCase name="Viewer3crWebGL spec - should test user agent" duration="35" />
    <testCase name="Viewer3crWebGL spec - should test storage" duration="35" />
  </file>
  <file path="src/components/modal/__tests__/ViewerActionRail.spec.ts">
    <testCase name="ViewerActionRail tests - should mount" duration="104" />
  </file>
  <file path="src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts">
    <testCase name="ViewerNavigationDrawer tests - should mount" duration="321" />
    <testCase name="ViewerNavigationDrawer tests - should hover show back" duration="510" />
    <testCase name="ViewerNavigationDrawer tests - should close" duration="267" />
    <testCase name="ViewerNavigationDrawer tests - should close with onExit" duration="338" />
    <testCase name="ViewerNavigationDrawer tests - should hover show back" duration="335" />
    <testCase name="ViewerNavigationDrawer tests - should update vlist on change" duration="1306" />
    <testCase name="ViewerNavigationDrawer tests - should update vlist on change mcad" duration="1010" />
    <testCase name="ViewerNavigationDrawer tests - should call all hotkey scopes" duration="1933" />
    <testCase name="ViewerNavigationDrawer tests - should call hotkey scopes on drawer" duration="1512" />
    <testCase name="ViewerNavigationDrawer tests - should display different home icon" duration="490" />
    <testCase name="ViewerNavigationDrawer tests - should display default home" duration="10422">
      <error message="Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with &quot;testTimeout&quot;.">
        <![CDATA[Error: STACK_TRACE_ERROR
    at task (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:796:27)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:823:16)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:615:28)
    at chain (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/chunk-tasks.js:9:14)
    at /opt/atlassian/pipelines/agent/build/src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts:186:5
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:40
    at runWithSuite (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1196:8)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:10)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:905:54)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1391:26
    at collectTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1366:3)
    at startTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1938:17)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:86:26
    at run (file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:79:2)]]>
      </error>
    </testCase>
    <testCase name="ViewerNavigationDrawer tests - should display different display icon" duration="2891" />
    <testCase name="ViewerNavigationDrawer tests - should display default display" duration="10876">
      <error message="Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with &quot;testTimeout&quot;.">
        <![CDATA[Error: STACK_TRACE_ERROR
    at task (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:796:27)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:823:16)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:615:28)
    at chain (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/chunk-tasks.js:9:14)
    at /opt/atlassian/pipelines/agent/build/src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts:186:5
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:40
    at runWithSuite (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1196:8)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:10)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:905:54)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1391:26
    at collectTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1366:3)
    at startTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1938:17)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:86:26
    at run (file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:79:2)]]>
      </error>
    </testCase>
    <testCase name="ViewerNavigationDrawer tests - should display different annotations icon" duration="2199" />
    <testCase name="ViewerNavigationDrawer tests - should display default annotations" duration="10147">
      <error message="Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with &quot;testTimeout&quot;.">
        <![CDATA[Error: STACK_TRACE_ERROR
    at task (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:796:27)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:823:16)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:615:28)
    at chain (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/chunk-tasks.js:9:14)
    at /opt/atlassian/pipelines/agent/build/src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts:186:5
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:40
    at runWithSuite (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1196:8)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:10)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:905:54)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1391:26
    at collectTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1366:3)
    at startTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1938:17)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:86:26
    at run (file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:79:2)]]>
      </error>
    </testCase>
    <testCase name="ViewerNavigationDrawer tests - should display different measure icon" duration="2945" />
    <testCase name="ViewerNavigationDrawer tests - should display default measure" duration="9544">
      <error message="Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with &quot;testTimeout&quot;.">
        <![CDATA[Error: STACK_TRACE_ERROR
    at task (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:796:27)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:823:16)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:615:28)
    at chain (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/chunk-tasks.js:9:14)
    at /opt/atlassian/pipelines/agent/build/src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts:186:5
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:40
    at runWithSuite (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1196:8)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:10)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:905:54)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1391:26
    at collectTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1366:3)
    at startTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1938:17)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:86:26
    at run (file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:79:2)]]>
      </error>
    </testCase>
    <testCase name="ViewerNavigationDrawer tests - should display different design icon" duration="560" />
    <testCase name="ViewerNavigationDrawer tests - should display default design" duration="9474">
      <error message="Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with &quot;testTimeout&quot;.">
        <![CDATA[Error: STACK_TRACE_ERROR
    at task (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:796:27)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:823:16)
    at Object.&lt;anonymous&gt; (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:615:28)
    at chain (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/chunk-tasks.js:9:14)
    at /opt/atlassian/pipelines/agent/build/src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts:186:5
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:40
    at runWithSuite (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1196:8)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:901:10)
    at Object.collect (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:905:54)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1391:26
    at collectTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1366:3)
    at startTests (file:///opt/atlassian/pipelines/agent/build/node_modules/@vitest/runner/dist/index.js:1938:17)
    at file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:86:26
    at run (file:///opt/atlassian/pipelines/agent/build/node_modules/vitest/dist/chunks/base.BEv8sRbK.js:79:2)]]>
      </error>
    </testCase>
  </file>
  <file path="src/components/modal/__tests__/ViewerScanView.spec.ts">
    <testCase name="ViewerScanView tests - should mount volume" duration="195" />
    <testCase name="ViewerScanView tests - should mount transverse" duration="106" />
    <testCase name="ViewerScanView tests - should mount coronal" duration="83" />
    <testCase name="ViewerScanView tests - should mount sagittal" duration="62" />
    <testCase name="ViewerScanView tests - should horizontal flip" duration="370" />
    <testCase name="ViewerScanView tests - should vertical flip" duration="150" />
    <testCase name="ViewerScanView tests - should keep hover active" duration="311" />
    <testCase name="ViewerScanView tests - should enter" duration="78" />
  </file>
  <file path="src/components/modal/actions/__tests__/Action.spec.ts">
    <testCase name="Action tests - should render as button" duration="164" />
    <testCase name="Action tests - should render as menu-item" duration="39" />
    <testCase name="Action tests - should render nothing" duration="21" />
  </file>
  <file path="src/components/modal/actions/__tests__/Flip3dAction.spec.ts">
    <testCase name="Flip3dAction tests - should flip sagittal" duration="526" />
    <testCase name="Flip3dAction tests - should flip coronal" duration="151" />
    <testCase name="Flip3dAction tests - should flip transverse" duration="159" />
  </file>
  <file path="src/components/modal/actions/__tests__/FlipHorizontalAction.spec.ts">
    <testCase name="FlipHorizontalAction tests - should flip horizontally" duration="208" />
  </file>
  <file path="src/components/modal/actions/__tests__/FlipVerticalAction.spec.ts">
    <testCase name="FlipVerticalAction tests - should flip horizontally" duration="228" />
  </file>
  <file path="src/components/modal/actions/__tests__/FullscreenAction.spec.ts">
    <testCase name="FullscreenAction tests - should fullscreen" duration="242" />
    <testCase name="FullscreenAction tests - should exit fullscreen" duration="120" />
  </file>
  <file path="src/components/modal/actions/__tests__/PanAction.spec.ts">
    <testCase name="PanAction tests - should disable unity input while active" duration="315" />
  </file>
  <file path="src/components/modal/actions/__tests__/ResetViewAction.spec.ts">
    <testCase name="ResetViewAction tests - should reset view" duration="203" />
  </file>
  <file path="src/components/modal/actions/__tests__/Rotate2dAction.spec.ts">
    <testCase name="Rotate2dAction tests - should apply rotation" duration="794" />
  </file>
  <file path="src/components/modal/actions/__tests__/Slice3dAction.spec.ts">
    <testCase name="Slice3dAction tests - should open slice menu" duration="743" />
    <testCase name="Slice3dAction tests - should set double-slider-selector model" duration="640" />
  </file>
  <file path="src/components/modal/app-bars/__tests__/ViewerActionBar.spec.ts">
    <testCase name="Viewer3cr tests - inflates" duration="207" />
    <testCase name="Viewer3cr tests - should set 2x2 view" duration="227" />
    <testCase name="Viewer3cr tests - should show open scan" duration="207" />
    <testCase name="Viewer3cr tests - should show all as open" duration="159" />
    <testCase name="Viewer3cr tests - should show all as open" duration="776" />
    <testCase name="Viewer3cr tests - should show all as closed" duration="658" />
    <testCase name="Viewer3cr tests - should set 1x3 view" duration="286" />
    <testCase name="Viewer3cr tests - should download scan" duration="307" />
    <testCase name="Viewer3cr tests - should load scan" duration="391" />
    <testCase name="Viewer3cr tests - should cloud scan" duration="276" />
    <testCase name="Viewer3cr tests - should reset scan" duration="254" />
    <testCase name="Viewer3cr tests - should save scan" duration="299" />
  </file>
  <file path="src/components/modal/app-bars/__tests__/ViewerAppBar.spec.ts">
    <testCase name="ViewerAppBar tests - inflates" duration="235" />
    <testCase name="ViewerAppBar tests - shows text" duration="150" />
    <testCase name="ViewerAppBar tests - shows text on hover" duration="385" />
    <testCase name="ViewerAppBar tests - should upgrade" duration="164" />
    <testCase name="ViewerAppBar tests - should close dropdown" duration="189" />
  </file>
  <file path="src/components/modal/layouts/composables/__tests__/useLayout1x3.spec.ts">
    <testCase name="useLayout1x3 tests - useLayout1x3 volume" duration="14" />
  </file>
  <file path="src/components/modal/layouts/composables/__tests__/useLayout2x2.spec.ts">
    <testCase name="useLayout2x2 tests - useLayout2x2 volume" duration="12" />
  </file>
  <file path="src/components/modal/layouts/composables/__tests__/useLayoutFullscreen.spec.ts">
    <testCase name="fullscreen tests - fullscreen volume" duration="11" />
  </file>
  <file path="src/components/modal/menus/__tests__/AutoAnnotateMenu.spec.ts">
    <testCase name="AutoAnnotateMenu - should open the menu when menuOpen is true" duration="550" />
    <testCase name="AutoAnnotateMenu - should call runAiModel when a model is selected" duration="4242" />
    <testCase name="AutoAnnotateMenu - should open the menu when no models are selected" duration="390" />
    <testCase name="AutoAnnotateMenu - should set autoAnnotate model loading" duration="88" />
    <testCase name="AutoAnnotateMenu - should set annotationGeneratedSnackbar model s_annotate " duration="178" />
  </file>
  <file path="src/components/modal/menus/__tests__/AvatarDropdownMenu.spec.ts">
    <testCase name="AvatarDropdownMenu - should call click when button is triggered" duration="162" />
    <testCase name="AvatarDropdownMenu - should show DemoAvatarDropdownMenu is IsDemo" duration="97" />
    <testCase name="AvatarDropdownMenu - should close and emit close" duration="62" />
    <testCase name="AvatarDropdownMenu - should mount if showAvatarDropdown is true" duration="294" />
    <testCase name="AvatarDropdownMenu - button should not exist if showAvatarDropdown is undefined" duration="63" />
  </file>
  <file path="src/components/modal/menus/__tests__/HelpMenu.spec.ts">
    <testCase name="HelpMenu - should set keyboardShortcuts model m_shortcuts" duration="938" />
  </file>
  <file path="src/components/modal/menus/__tests__/SettingsMenu.spec.ts">
    <testCase name="SettingsMenu - should open menu when ModelValue is true" duration="1034" />
    <testCase name="SettingsMenu - should update brightness modelValue" duration="490" />
    <testCase name="SettingsMenu - should update interactionSettings modelValue" duration="630" />
    <testCase name="SettingsMenu - should change modelValue for switch" duration="451" />
    <testCase name="SettingsMenu - should change modelValue for stlResolution" duration="271" />
  </file>
  <file path="src/components/modal/modal/__tests__/AiModelList.spec.ts">
    <testCase name="AiModelList.vue - Pre-selected Items - should call getAIModels when options.value.getAIModels is defined" duration="223" />
    <testCase name="AiModelList.vue - Pre-selected Items - should update selected items when selected is updated directly" duration="104" />
    <testCase name="AiModelList.vue - Pre-selected Items - should update selected array when an item is selected and deselected" duration="125" />
  </file>
  <file path="src/components/modal/modal/__tests__/AskAI.spec.ts">
    <testCase name="AskAI tests - should mount" duration="128" />
    <testCase name="AskAI tests - should close modal" duration="261" />
    <testCase name="AskAI tests - should ask follow up question" duration="159" />
  </file>
  <file path="src/components/modal/modal/__tests__/AutoAnnotateModal.spec.ts">
    <testCase name="AutoAnnotateModal tests - should mount" duration="131" />
    <testCase name="AutoAnnotateModal tests - should close modal" duration="106" />
    <testCase name="AutoAnnotateModal tests - should get random text" duration="73" />
  </file>
  <file path="src/components/modal/modal/__tests__/CloseViewerModal.spec.ts">
    <testCase name="CloseViewerModal tests - should open modal" duration="283" />
    <testCase name="CloseViewerModal tests - should close modal" duration="122" />
    <testCase name="CloseViewerModal tests - should cancel modal" duration="85" />
    <testCase name="CloseViewerModal tests - should close modal without saving" duration="79" />
    <testCase name="CloseViewerModal tests - should close modal and save session" duration="97" />
  </file>
  <file path="src/components/modal/modal/__tests__/DataOverlayGeneralModal.spec.ts">
    <testCase name="DataOverlayGeneralModal tests - should mount" duration="241" />
    <testCase name="DataOverlayGeneralModal tests - should have description" duration="172" />
    <testCase name="DataOverlayGeneralModal tests - should not have description" duration="94" />
    <testCase name="DataOverlayGeneralModal tests - should update title from parent" duration="158" />
  </file>
  <file path="src/components/modal/modal/__tests__/DataOverlayMeasurementModal.spec.ts">
    <testCase name="DataOverlayInfo tests - should mount" duration="238" />
    <testCase name="DataOverlayInfo tests - should select an item as measurement" duration="130" />
    <testCase name="DataOverlayInfo tests - should start editing" duration="111" />
    <testCase name="DataOverlayInfo tests - should finish editing" duration="136" />
    <testCase name="DataOverlayInfo tests - should update title from parent" duration="108" />
  </file>
  <file path="src/components/modal/modal/__tests__/DataOverlayModal.spec.ts">
    <testCase name="DataOverlayInfo tests - should mount" duration="108" />
    <testCase name="DataOverlayInfo tests - should select an item as measurement" duration="740" />
    <testCase name="DataOverlayInfo tests - should select an item as measurement and updateTitle" duration="340" />
    <testCase name="DataOverlayInfo tests - should select an item as mcad" duration="498" />
    <testCase name="DataOverlayInfo tests - simulate click" duration="367" />
  </file>
  <file path="src/components/modal/modal/__tests__/ShareModal.spec.ts">
    <testCase name="ShareModal tests - should mount" duration="181" />
    <testCase name="ShareModal tests - should mount and open Modal" duration="334" />
    <testCase name="ShareModal tests - should mount and close modal by click" duration="464" />
    <testCase name="ShareModal tests - should mount and close modal by click cancel" duration="361" />
    <testCase name="ShareModal tests - should mount and setTab second" duration="410" />
    <testCase name="ShareModal tests - should mount and setTab first" duration="185" />
    <testCase name="ShareModal tests - should mount and setTab through window second" duration="356" />
    <testCase name="ShareModal tests - should mount and setTab through window first" duration="175" />
    <testCase name="ShareModal tests - should show ImagesSharedSnackbar" duration="169" />
    <testCase name="ShareModal tests - should show ImagesSharedSnackbar then close it" duration="1242" />
    <testCase name="ShareModal tests - should show LinkCopiedSnackbar" duration="157" />
    <testCase name="ShareModal tests - should show LinkCopiedSnackbar then close it" duration="369" />
    <testCase name="ShareModal tests - should set email value" duration="269" />
    <testCase name="ShareModal tests - should invite email" duration="296" />
  </file>
  <file path="src/components/modal/modal/__tests__/UploadsDrawer.spec.ts">
    <testCase name="UploadsDrawer - calculates progress correctly for uploading files" duration="282" />
    <testCase name="UploadsDrawer - returns 0 progress when upload does not have progress (completed)" duration="122" />
    <testCase name="UploadsDrawer - should display v-sheet when v-bottom-sheet modelValue is true" duration="765" />
    <testCase name="UploadsDrawer - should expand" duration="184" />
    <testCase name="UploadsDrawer - should close" duration="250" />
    <testCase name="UploadsDrawer - should be waiting" duration="180" />
    <testCase name="UploadsDrawer - should be counting then finish" duration="307" />
    <testCase name="UploadsDrawer - should show cancelled" duration="102" />
  </file>
  <file path="src/components/modal/snackbars/__tests__/AnnotationGeneratedSnackbar.spec.ts">
    <testCase name="AnnotationGeneratedSnackbar - should render the snackbar correctly" duration="435" />
    <testCase name="AnnotationGeneratedSnackbar - should close the snackbar when close icon is clicked" duration="111" />
    <testCase name="AnnotationGeneratedSnackbar - should call undo function and close the snackbar" duration="79" />
    <testCase name="AnnotationGeneratedSnackbar - should update modelValue and bind correctly via v-model" duration="76" />
  </file>
  <file path="src/components/modal/snackbars/__tests__/ImagesSharedSnackbar.spec.ts">
    <testCase name="ImagesSharedSnackbar - should open snack bar when ModelValue is set to true" duration="315" />
    <testCase name="ImagesSharedSnackbar - should emit update:modelValue when close button is clicked and close the snackbar" duration="65" />
  </file>
  <file path="src/components/modal/snackbars/__tests__/LinkCopiedSnackbar.spec.ts">
    <testCase name="LinkedCopiedSnackbar - should render the snackbar correctly when modelValue is set to true" duration="451" />
    <testCase name="LinkedCopiedSnackbar - should close the snackbar when the close button is clicked" duration="68" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationCreateModal.spec.ts">
    <testCase name="MaskIcon tests - should mount" duration="159" />
    <testCase name="MaskIcon tests - should mount open" duration="1353" />
    <testCase name="MaskIcon tests - should mount open and open createsnack" duration="1006" />
    <testCase name="MaskIcon tests - should Update overlay" duration="790" />
    <testCase name="MaskIcon tests - should submit form" duration="869" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationCreateSnackbar.spec.ts">
    <testCase name="Snackbar Component - should mount" duration="102" />
    <testCase name="Snackbar Component - renders the snackbar with the correct text and icon" duration="446" />
    <testCase name="Snackbar Component - should close the snackbar when the undo button is clicked" duration="104" />
    <testCase name="Snackbar Component - should close the snackbar when the close icon is clicked" duration="69" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationDataTable.spec.ts">
    <testCase name="AnnotationDataTable tests - should mount" duration="382" />
    <testCase name="AnnotationDataTable tests - should update search" duration="187" />
    <testCase name="AnnotationDataTable tests - should clear search" duration="213" />
    <testCase name="AnnotationDataTable tests - should update expanded" duration="88" />
    <testCase name="AnnotationDataTable tests - should check header props" duration="72" />
    <testCase name="AnnotationDataTable tests - should filter" duration="96" />
    <testCase name="AnnotationDataTable tests - should filter" duration="100" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationDeleteSnackbar.spec.ts">
    <testCase name="AnnotationDeleteSnackbar tests - should mount" duration="129" />
    <testCase name="AnnotationDeleteSnackbar tests - should open AnnotationDeleteSnackbar" duration="278" />
    <testCase name="AnnotationDeleteSnackbar tests - should close AnnotationDeleteSnackbar" duration="91" />
    <testCase name="AnnotationDeleteSnackbar tests - should close AnnotationDeleteSnackbar" duration="129" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationForm.spec.ts">
    <testCase name="MaskIcon tests - should mount" duration="733" />
    <testCase name="MaskIcon tests - should mount with icon" duration="499" />
    <testCase name="MaskIcon tests - should mount without icon" duration="518" />
    <testCase name="MaskIcon tests - should set text field value" duration="407" />
    <testCase name="MaskIcon tests - should set text field 2 value" duration="1265" />
    <testCase name="MaskIcon tests - should set text field value" duration="180" />
    <testCase name="MaskIcon tests - should removeaction" duration="894" />
    <testCase name="MaskIcon tests - should colour pallete" duration="412" />
    <testCase name="MaskIcon tests - should set and get icon" duration="448" />
    <testCase name="MaskIcon tests - should check input values" duration="480" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationIcon.spec.ts">
    <testCase name="MaskIcon tests - should mount" duration="113" />
  </file>
  <file path="src/components/navigation/annotation/__tests__/AnnotationTools.spec.ts">
    <testCase name="AnnotationTools tests - should mount" duration="994" />
    <testCase name="AnnotationTools tests - should AnnotationCreateModal" duration="623" />
    <testCase name="AnnotationTools tests - should create snackbar" duration="170" />
    <testCase name="AnnotationTools tests - should close create snackbar" duration="232" />
    <testCase name="AnnotationTools tests - should move snackbar" duration="257" />
    <testCase name="AnnotationTools tests - should close move snackbar" duration="246" />
    <testCase name="AnnotationTools tests - should AnnotationDeleteSnackbar" duration="227" />
    <testCase name="AnnotationTools tests - should create" duration="414" />
    <testCase name="AnnotationTools tests - should move" duration="920" />
  </file>
  <file path="src/components/navigation/display/__tests__/DisplayPanel.spec.ts">
    <testCase name="ViewerDisplaySettings tests - should mount" duration="318" />
    <testCase name="ViewerDisplaySettings tests - sliders - should test window slider" duration="68" />
    <testCase name="ViewerDisplaySettings tests - sliders - should test threshold slider" duration="46" />
    <testCase name="ViewerDisplaySettings tests - should set greyscale preset" duration="423" />
    <testCase name="ViewerDisplaySettings tests - should set colour preset" duration="542" />
    <testCase name="ViewerDisplaySettings tests - should set colour preset from null" duration="581" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadAddObjectBtn.spec.ts">
    <testCase name="McadAddObjectBtn tests - should mount" duration="120" />
    <testCase name="McadAddObjectBtn tests - should onDropItems" duration="62" />
    <testCase name="McadAddObjectBtn tests - should onClickItems" duration="32" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadDataTable.spec.ts">
    <testCase name="Opacity tests - should mount" duration="322" />
    <testCase name="Opacity tests - should set value" duration="99" />
    <testCase name="Opacity tests - should set value" duration="129" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadDataTableItems.spec.ts">
    <testCase name="McadDataTableItems tests - should mount" duration="90" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should contain item from store" duration="549" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should check custom filter" duration="178" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should check custom filter found" duration="222" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should contain item from store with children" duration="607" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should primary contain .drag-drop and call interact" duration="215" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should not primary contain .drag-drop and not call interact" duration="144" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should dragStart" duration="128" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should onDragMove" duration="131" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should onDragMove default values" duration="165" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should onDragEnd" duration="141" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should onDragEnd and reset" duration="120" />
    <testCase name="McadDataTableItems tests - mcad loaded tests - should onDrop" duration="129" />
    <testCase name="McadDataTableItems tests - focus tests - should be focusable" duration="225" />
    <testCase name="McadDataTableItems tests - focus tests - should handleFocus when clicked" duration="194" />
    <testCase name="McadDataTableItems tests - focus tests - should update title when event triggered" duration="229" />
    <testCase name="McadDataTableItems tests - focus tests - should not save title when blurred same title" duration="182" />
    <testCase name="McadDataTableItems tests - focus tests - should save title when blurred" duration="255" />
    <testCase name="McadDataTableItems tests - focus tests - should save title when keydown:enter" duration="140" />
    <testCase name="McadDataTableItems tests - focus tests - should not update title when not group" duration="161" />
    <testCase name="McadDataTableItems tests - select tests - should not update title when not group" duration="982" />
    <testCase name="McadDataTableItems tests - select tests - should not update title when not group from store" duration="949" />
    <testCase name="McadDataTableItems tests - select tests - should not update title when not group" duration="206" />
    <testCase name="McadDataTableItems tests - select tests - should expand item" duration="1004" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadDeleteModal.spec.ts">
    <testCase name="McadDeleteModal tests - should mount" duration="129" />
    <testCase name="McadDeleteModal tests - should mount open" duration="151" />
    <testCase name="McadDeleteModal tests - should mount open then close on btn click" duration="136" />
    <testCase name="McadDeleteModal tests - should mount delete item" duration="374" />
    <testCase name="McadDeleteModal tests - should Update overlay" duration="76" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadDropZone.spec.ts">
    <testCase name="McadDropZone tests - should mount" duration="108" />
    <testCase name="McadDropZone tests - should registerEvents" duration="9" />
    <testCase name="McadDropZone tests - should call after registered" duration="15" />
    <testCase name="McadDropZone tests - should hover state" duration="33" />
    <testCase name="McadDropZone tests - should hover state" duration="14" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadIcon.spec.ts">
    <testCase name="ObjectColor tests - should mount" duration="142" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadInvert.spec.ts">
    <testCase name="McadInvert tests - should mount" duration="216" />
    <testCase name="McadInvert tests - should togglex" duration="102" />
    <testCase name="McadInvert tests - should toggley" duration="79" />
    <testCase name="McadInvert tests - should togglez" duration="82" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadLockBtn.spec.ts">
    <testCase name="McadLockBtn tests - should mount" duration="262" />
    <testCase name="McadLockBtn tests - should toggle" duration="107" />
    <testCase name="McadLockBtn tests - should toggle desc" duration="65" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadMenu.spec.ts">
    <testCase name="McadMenu tests - should mount" duration="205" />
    <testCase name="McadMenu tests - should trigger all clicks" duration="1542" />
    <testCase name="McadMenu tests - should open update modal" duration="711" />
    <testCase name="McadMenu tests - should open delete modal" duration="418" />
    <testCase name="McadMenu tests - should close menu" duration="185" />
    <testCase name="McadMenu tests - should call rotate onClick" duration="92" />
    <testCase name="McadMenu tests - should call move onClick" duration="561" />
    <testCase name="McadMenu tests - should call download onClick" duration="198" />
    <testCase name="McadMenu tests - should call update onClick" duration="324" />
    <testCase name="McadMenu tests - should call delete onClick" duration="169" />
    <testCase name="McadMenu tests - should display hide" duration="103" />
    <testCase name="McadMenu tests - should not display hide" duration="88" />
    <testCase name="McadMenu tests - should not display lock" duration="95" />
    <testCase name="McadMenu tests - should display lock" duration="88" />
    <testCase name="McadMenu tests - should call all hotkey scopes" duration="365" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadOpacity.spec.ts">
    <testCase name="Opacity tests - should mount" duration="160" />
    <testCase name="Opacity tests - should set value" duration="71" />
    <testCase name="Opacity tests - should decrement" duration="65" />
    <testCase name="Opacity tests - should increment" duration="96" />
    <testCase name="Opacity tests - should cancel timeout" duration="77" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadToggleSortBtn.spec.ts">
    <testCase name="McadToggleSortBtn tests - should mount" duration="143" />
    <testCase name="McadToggleSortBtn tests - should toggle" duration="73" />
    <testCase name="McadToggleSortBtn tests - should toggle desc" duration="34" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadToggleVisibilityBtn.spec.ts">
    <testCase name="McadToggleVisibilityBtn tests - should mount" duration="186" />
    <testCase name="McadToggleVisibilityBtn tests - should toggle" duration="97" />
    <testCase name="McadToggleVisibilityBtn tests - should be not visible" duration="46" />
    <testCase name="McadToggleVisibilityBtn tests - should be visible" duration="37" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadUpdateModal.spec.ts">
    <testCase name="McadUpdateModal tests - should mount" duration="118" />
    <testCase name="McadUpdateModal tests - should mount open" duration="399" />
    <testCase name="McadUpdateModal tests - should mount open then close on btn click" duration="329" />
    <testCase name="McadUpdateModal tests - should mount open then close on btn click" duration="605" />
    <testCase name="McadUpdateModal tests - should mount open edit ShTextarea" duration="315" />
    <testCase name="McadUpdateModal tests - should mount open edit ShTextarea" duration="369" />
    <testCase name="McadUpdateModal tests - should mount open edit ShTextarea" duration="224" />
    <testCase name="McadUpdateModal tests - should Update overlay" duration="252" />
  </file>
  <file path="src/components/navigation/mcad/__tests__/McadVisibilityBtn.spec.ts">
    <testCase name="McadVisibilityBtn tests - should mount" duration="199" />
    <testCase name="McadVisibilityBtn tests - should toggle" duration="93" />
    <testCase name="McadVisibilityBtn tests - should be not visible" duration="63" />
    <testCase name="McadVisibilityBtn tests - should be visible" duration="61" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementAngleSnackbar.spec.ts">
    <testCase name="MeasurementAngleSnackbar tests - should mount" duration="129" />
    <testCase name="MeasurementAngleSnackbar tests - should open MeasurementAngleSnackbar" duration="414" />
    <testCase name="MeasurementAngleSnackbar tests - should close MeasurementAngleSnackbar" duration="114" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementDataTable.spec.ts">
    <testCase name="MeasurementDataTable tests - should mount" duration="256" />
    <testCase name="MeasurementDataTable tests - should update search" duration="181" />
    <testCase name="MeasurementDataTable tests - should clear search" duration="135" />
    <testCase name="MeasurementDataTable tests - should update expanded" duration="141" />
    <testCase name="MeasurementDataTable tests - should check header props" duration="104" />
    <testCase name="MeasurementDataTable tests - should filter" duration="79" />
    <testCase name="MeasurementDataTable tests - should filter" duration="77" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementDeleteSnackbar.spec.ts">
    <testCase name="MeasurementDeleteSnackbar tests - should mount" duration="156" />
    <testCase name="MeasurementDeleteSnackbar tests - should open MeasurementDeleteSnackbar" duration="387" />
    <testCase name="MeasurementDeleteSnackbar tests - should close MeasurementDeleteSnackbar" duration="117" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementInfo.spec.ts">
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="523" />
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="98" />
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="62" />
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="93" />
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="70" />
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="57" />
    <testCase name="MeasurementInfo tests - should open MeasurementInfo" duration="30" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementLengthSnackbar.spec.ts">
    <testCase name="MeasurementLengthSnackbar tests - should mount" duration="110" />
    <testCase name="MeasurementLengthSnackbar tests - should open MeasurementLengthSnackbar" duration="302" />
    <testCase name="MeasurementLengthSnackbar tests - should close MeasurementLengthSnackbar" duration="94" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementPolygonSnackbar.spec.ts">
    <testCase name="MeasurementPolygonSnackbar tests - should mount" duration="222" />
    <testCase name="MeasurementPolygonSnackbar tests - should open MeasurementPolygonSnackbar" duration="391" />
    <testCase name="MeasurementPolygonSnackbar tests - should close MeasurementPolygonSnackbar" duration="79" />
  </file>
  <file path="src/components/navigation/measurement/__tests__/MeasurementTools.spec.ts">
    <testCase name="MeasurementDataTable tests - should mount" duration="948" />
    <testCase name="MeasurementDataTable tests - should MeasurementLengthSnackbar" duration="429" />
    <testCase name="MeasurementDataTable tests - should MeasurementPolygonSnackbar" duration="280" />
    <testCase name="MeasurementDataTable tests - should MeasurementAngleSnackbar" duration="220" />
    <testCase name="MeasurementDataTable tests - should MeasurementDeleteSnackbar" duration="276" />
    <testCase name="MeasurementDataTable tests - should angle" duration="584" />
    <testCase name="MeasurementDataTable tests - should length" duration="815" />
    <testCase name="MeasurementDataTable tests - should polygon" duration="771" />
  </file>
  <file path="src/components/shared/__tests__/ColourPalette.spec.ts">
    <testCase name="ColourPalette - updates modelValue when colour is clicked" duration="263" />
  </file>
  <file path="src/components/shared/__tests__/DoubleSliderSelector.spec.ts">
    <testCase name="DoubleSliderSelector tests - should timeout the thumb" duration="278" />
    <testCase name="DoubleSliderSelector tests - should clamp lower only to min" duration="204" />
    <testCase name="DoubleSliderSelector tests - should clamp upper only to max" duration="152" />
    <testCase name="DoubleSliderSelector tests - should clamp lower and upper to min" duration="139" />
    <testCase name="DoubleSliderSelector tests - should clamp lower and upper to max" duration="178" />
    <testCase name="DoubleSliderSelector tests - should update left label position when thumb is less than 10" duration="91" />
    <testCase name="DoubleSliderSelector tests - should update left label position when thumb is greater than 220" duration="103" />
    <testCase name="DoubleSliderSelector tests - should update right label position when right thumb is greater than 220" duration="71" />
    <testCase name="DoubleSliderSelector tests - should update left and right label position when thumbs are within bounds" duration="70" />
  </file>
  <file path="src/components/shared/__tests__/HorizontalSliderSelector.spec.ts">
    <testCase name="HorizontalSliderSelector - renders correctly with default props" duration="163" />
    <testCase name="HorizontalSliderSelector - emits correct value when the slider changes" duration="79" />
    <testCase name="HorizontalSliderSelector - sets showThumb to always and then false after timeout" duration="56" />
  </file>
  <file path="src/components/shared/__tests__/KeyboardShortcuts.spec.ts">
    <testCase name="KeyboardShortcuts - should render the dialog correctly" duration="406" />
    <testCase name="KeyboardShortcuts - should filter items based on search input" duration="1176" />
    <testCase name="KeyboardShortcuts - should close the dialog when the close button is clicked" duration="336" />
  </file>
  <file path="src/components/shared/__tests__/LoadingSpinner.spec.ts">
    <testCase name="LoadingSpinner tests - should mount" duration="146" />
  </file>
  <file path="src/components/shared/__tests__/MultiLoginError.spec.ts">
    <testCase name="MultiLoginError - should render the dialog" duration="151" />
    <testCase name="MultiLoginError - calls verifyOwnership function" duration="109" />
    <testCase name="MultiLoginError - requestAccess should set snackbar to true" duration="302" />
    <testCase name="MultiLoginError - snackbar should initially be hidden and display when triggered" duration="121" />
    <testCase name="MultiLoginError - should hide the snackbar when the close button is clicked" duration="102" />
  </file>
  <file path="src/components/shared/__tests__/NotificationToaster.spec.ts">
    <testCase name="NotificationToaster - should pass" duration="3" />
    <testCase name="NotificationToaster - displays a success notification with the correct text and icon" duration="140" />
    <testCase name="NotificationToaster - displays a Error notification with the correct text and icon" duration="31" />
    <testCase name="NotificationToaster - displays a Warning notification with the correct text and icon" duration="26" />
    <testCase name="NotificationToaster - displays a Info notification with the correct text and icon" duration="31" />
    <testCase name="NotificationToaster - getButtonColor returns the correct color for each type" duration="26" />
  </file>
  <file path="src/components/shared/__tests__/ShSelect.spec.ts">
    <testCase name="ShSelect - renders no label if omitted" duration="209" />
    <testCase name="ShSelect - renders label if provided" duration="63" />
  </file>
  <file path="src/components/shared/__tests__/ShTextField.spec.ts">
    <testCase name="ShTextField - renders no label if omitted" duration="255" />
    <testCase name="ShTextField - renders label if provided" duration="65" />
  </file>
  <file path="src/components/shared/__tests__/ShTextarea.spec.ts">
    <testCase name="ShTextarea - renders no label if omitted" duration="233" />
    <testCase name="ShTextarea - renders label if provided" duration="53" />
  </file>
  <file path="src/components/shared/__tests__/UpdateSnackbar.spec.ts">
    <testCase name="UpdateSnackbar tests - should mount" duration="131" />
    <testCase name="UpdateSnackbar tests - should set v-alert state" duration="122" />
    <testCase name="UpdateSnackbar tests - should set v-snackbar state" duration="72" />
    <testCase name="UpdateSnackbar tests - should check for updates if navigator present" duration="74" />
    <testCase name="UpdateSnackbar tests - should check for updates on interval" duration="66" />
    <testCase name="UpdateSnackbar tests - should show installing when update found" duration="79" />
    <testCase name="UpdateSnackbar tests - should ignore update if waiting not found" duration="79" />
    <testCase name="UpdateSnackbar tests - should apply update on user confirmation" duration="157" />
  </file>
  <file path="src/components/shared/__tests__/ValueSelector.spec.ts">
    <testCase name="ValueSelector.vue - should inflate component" duration="64" />
    <testCase name="ValueSelector.vue - should change from props" duration="51" />
    <testCase name="ValueSelector.vue - should set text lower than min limits" duration="43" />
    <testCase name="ValueSelector.vue - should set text higher than max limits" duration="58" />
    <testCase name="ValueSelector.vue - should set text higher than max limits" duration="47" />
    <testCase name="ValueSelector.vue - should set text" duration="46" />
  </file>
  <file path="src/components/shared/__tests__/VerticalSliderSelector.spec.ts">
    <testCase name="VerticalSliderSelector.vue - should inflate component" duration="51" />
    <testCase name="VerticalSliderSelector.vue - should change from props" duration="44" />
    <testCase name="VerticalSliderSelector.vue - should timeout the thumb" duration="48" />
    <testCase name="VerticalSliderSelector.vue - should set slider value" duration="50" />
  </file>
  <file path="src/composables/__tests__/useNavigationCube.spec.ts">
    <testCase name="useNavigationCube tests - should position correctly for 2x2" duration="21" />
    <testCase name="useNavigationCube tests - should position correctly for 1x3" duration="5" />
    <testCase name="useNavigationCube tests - should position correctly for 2d fullscreen" duration="7" />
    <testCase name="useNavigationCube tests - should position correctly for 3d fullscreen" duration="5" />
  </file>
  <file path="src/composables/__tests__/useNotificationHandler.spec.ts">
    <testCase name="useNotificationHandler tests - should handleNotification InteractivityActions.in01" duration="4" />
    <testCase name="useNotificationHandler tests - should handleNotification InteractivityActions.in02" duration="1" />
    <testCase name="useNotificationHandler tests - should handleNotification InteractivityActions.in03" duration="0" />
    <testCase name="useNotificationHandler tests - should handleNotification InteractivityActions.in04" duration="0" />
    <testCase name="useNotificationHandler tests - should handleNotification SlidersActions.sl01" duration="1" />
    <testCase name="useNotificationHandler tests - should handleNotification success [MUTED] FileManagementActions.fm01" duration="3" />
    <testCase name="useNotificationHandler tests - should handleNotification info [MUTED] FileManagementActions.fm01" duration="1" />
    <testCase name="useNotificationHandler tests - should handleNotification failure FileManagementActions.fm01" duration="7" />
    <testCase name="useNotificationHandler tests - should handleNotification warning FileManagementActions.fm01" duration="1" />
    <testCase name="useNotificationHandler tests - should handleNotification slider mute FileManagementActions.fm01" duration="0" />
    <testCase name="useNotificationHandler tests - should handleNotification success FileManagementActions.fm01" duration="1" />
    <testCase name="useNotificationHandler tests - should handleNotification info FileManagementActions.fm01" duration="1" />
    <testCase name="useNotificationHandler tests - should handleNotification default FileManagementActions.fm01" duration="1" />
  </file>
  <file path="src/composables/__tests__/useToolGroup.spec.ts">
    <testCase name="useToolGroup - should only allow one tool to be active at a time" duration="7" />
  </file>
  <file path="src/composables/__tests__/useViewName.spec.ts">
    <testCase name="useViewName tests - should get name for coronal" duration="3" />
    <testCase name="useViewName tests - should get name for sagittal" duration="1" />
    <testCase name="useViewName tests - should get name for transverse" duration="0" />
    <testCase name="useViewName tests - should get name for volume" duration="0" />
    <testCase name="useViewName tests - should get empty string for unknown" duration="0" />
  </file>
  <file path="src/composables/__tests__/useViewer3cr.spec.ts">
    <testCase name="useViewer3cr tests - should return same service instance" duration="3" />
  </file>
  <file path="src/functions/__tests__/HotkeyScope.spec.ts">
    <testCase name="HotkeyScope tests - should map defaultHotkeys" duration="434" />
    <testCase name="HotkeyScope tests - should resetScope" duration="1" />
  </file>
  <file path="src/functions/__tests__/clamp.spec.ts">
    <testCase name="clamp tests - should clamp min" duration="2" />
    <testCase name="clamp tests - should clamp max" duration="0" />
    <testCase name="clamp tests - should not clamp within range" duration="0" />
  </file>
  <file path="src/functions/__tests__/colours.spec.ts">
    <testCase name="colour tests - should convert RGB to hex" duration="3" />
    <testCase name="colour tests - should convert RGBA to hex" duration="1" />
    <testCase name="colour tests - should convert hex to RGB" duration="1" />
    <testCase name="colour tests - should convert hex to RGBA" duration="1" />
    <testCase name="colour tests - should convert from colour data" duration="0" />
    <testCase name="colour tests - should convert to colour data" duration="1" />
  </file>
  <file path="src/functions/__tests__/fileReader.spec.ts">
    <testCase name="fileReader - should process a single file" duration="10" />
    <testCase name="fileReader - should process a nested directory with files" duration="2" />
    <testCase name="fileReader - should handle an empty directory gracefully" duration="1" />
  </file>
  <file path="src/functions/__tests__/modelHelper.spec.ts">
    <testCase name="model helper tests - should inflateScanState" duration="4" />
    <testCase name="model helper tests - should inflateInitialScanState" duration="2" />
  </file>
  <file path="src/functions/__tests__/tsHelper.spec.ts">
    <testCase name="forceType tests - should forceType min" duration="5" />
  </file>
  <file path="src/functions/guards/__tests__/isDataOverlayAngle.spec.ts">
    <testCase name="isDataOverlayAngle - should accept angles" duration="5" />
    <testCase name="isDataOverlayAngle - should reject lengths" duration="1" />
    <testCase name="isDataOverlayAngle - should reject polygons" duration="1" />
  </file>
  <file path="src/functions/guards/__tests__/isDataOverlayLength.spec.ts">
    <testCase name="isDataOverlayLength - should accept lengths" duration="6" />
    <testCase name="isDataOverlayLength - should reject angles" duration="2" />
    <testCase name="isDataOverlayLength - should reject polygons" duration="2" />
  </file>
  <file path="src/functions/guards/__tests__/isDataOverlayPolygon.spec.ts">
    <testCase name="isDataOverlayPolygon - should accept polygons" duration="5" />
    <testCase name="isDataOverlayPolygon - should reject lengths" duration="1" />
    <testCase name="isDataOverlayPolygon - should reject angles" duration="1" />
  </file>
  <file path="src/functions/parsers/__tests__/parseAction.spec.ts">
    <testCase name="parseAction tests - should parse" duration="5" />
  </file>
  <file path="src/functions/parsers/__tests__/parseCallToAction.spec.ts">
    <testCase name="parseCallToAction tests - should parse" duration="6" />
  </file>
  <file path="src/functions/parsers/__tests__/parseDataOverlay.spec.ts">
    <testCase name="parseDataOverlay tests - should parse" duration="7" />
    <testCase name="parseDataOverlay tests - should parse with null" duration="1" />
  </file>
  <file path="src/functions/parsers/__tests__/parseDataOverlayData.spec.ts">
    <testCase name="parseDataOverlayData tests - should parse" duration="10" />
  </file>
  <file path="src/functions/parsers/__tests__/parseDataOverlayEvent.spec.ts">
    <testCase name="parseDataOverlayEvent tests - should parse" duration="10" />
  </file>
  <file path="src/functions/parsers/__tests__/parseMcadEvent.spec.ts">
    <testCase name="parseMcadEvent tests - should parse" duration="7" />
  </file>
  <file path="src/models/__tests__/eventHandlers.spec.ts">
    <testCase name="eventHandlers tests - should add the same key and handler only once" duration="3" />
    <testCase name="eventHandlers tests - should add different handlers" duration="1" />
    <testCase name="eventHandlers tests - should add/remove the same key and handler" duration="0" />
    <testCase name="eventHandlers tests - should not remove handler of different key" duration="1" />
  </file>
  <file path="src/models/__tests__/scanState.spec.ts">
    <testCase name="scanState tests - should getCurrentView Sagittal" duration="2" />
    <testCase name="scanState tests - should getCurrentView Sagittal" duration="1" />
    <testCase name="scanState tests - should get/set sagittal slider" duration="1" />
    <testCase name="scanState tests - should get/set coronal slider" duration="1" />
    <testCase name="scanState tests - should get/set transverse slider" duration="0" />
    <testCase name="scanState tests - should set window slider" duration="1" />
    <testCase name="scanState tests - should set threshold slider" duration="0" />
    <testCase name="scanState tests - set states - should set initial scan state" duration="3" />
    <testCase name="scanState tests - set states - should set current scan state" duration="1" />
    <testCase name="scanState tests - set states - should set initial data overlay state" duration="1" />
    <testCase name="scanState tests - set states - should set current data overlay state" duration="1" />
    <testCase name="scanState tests - set states - should set data overlay event" duration="5" />
    <testCase name="scanState tests - set states - should set initial mcad state" duration="0" />
    <testCase name="scanState tests - set states - should set current data overlay state" duration="0" />
    <testCase name="scanState tests - set states - should set data overlay event" duration="4" />
  </file>
  <file path="src/plugins/__tests__/pinia.spec.ts">
    <testCase name="pinia - should be defined" duration="3" />
  </file>
  <file path="src/plugins/__tests__/vue-i18n.spec.ts">
    <testCase name="vue-i18n - should be defined" duration="2" />
  </file>
  <file path="src/plugins/__tests__/vuetify.spec.ts">
    <testCase name="vuetify - should be defined" duration="2" />
  </file>
  <file path="src/services/__tests__/gpt.service.spec.ts">
    <testCase name="GptService tests - should instantiate" duration="3" />
    <testCase name="GptService tests - should generate response" duration="4" />
    <testCase name="GptService tests - should generate response as localhost" duration="4" />
    <testCase name="GptService tests - should generate response as test" duration="2" />
    <testCase name="GptService tests - should generate response as next" duration="1" />
    <testCase name="GptService tests - should generate response as prod" duration="1" />
  </file>
  <file path="src/services/__tests__/service-worker.service.spec.ts">
    <testCase name="ServiceWorkerService service tests - should instantiate" duration="5" />
    <testCase name="ServiceWorkerService service tests - should get registration" duration="2" />
    <testCase name="ServiceWorkerService service tests - should not get registration" duration="0" />
  </file>
  <file path="src/services/__tests__/viewer-3cr.service.spec.ts">
    <testCase name="Viewer3cr tests - should create instance" duration="6" />
    <testCase name="Viewer3cr tests - data overlay actions - should toggle 2d annotation" duration="10" />
    <testCase name="Viewer3cr tests - data overlay actions - should set size 2d annotation" duration="1" />
    <testCase name="Viewer3cr tests - data overlay actions - should set colour 2d annotation" duration="1" />
    <testCase name="Viewer3cr tests - data overlay actions - should set Icon annotation" duration="0" />
    <testCase name="Viewer3cr tests - data overlay actions - should set size 3d annotation" duration="1" />
    <testCase name="Viewer3cr tests - data overlay actions - should set size 3d annotation" duration="1" />
    <testCase name="Viewer3cr tests - data overlay actions - should toggle 3d annotation" duration="0" />
    <testCase name="Viewer3cr tests - interactivity actions - should set mouse input" duration="0" />
    <testCase name="Viewer3cr tests - interactivity actions - should enable/disable unity inputs" duration="1" />
    <testCase name="Viewer3cr tests - file management actions - should set loadScan" duration="0" />
    <testCase name="Viewer3cr tests - file management actions - should set loadScanSession" duration="1" />
    <testCase name="Viewer3cr tests - file management actions - should set setDataOverlaySession" duration="1" />
    <testCase name="Viewer3cr tests - file management actions - should set addDataOverlaySession" duration="1" />
    <testCase name="Viewer3cr tests - file management actions - should set loadExternalMcadObject" duration="1" />
    <testCase name="Viewer3cr tests - file management actions - should set loadExternalMcadObject" duration="1" />
    <testCase name="Viewer3cr tests - file management actions - should set loadMcadObjects" duration="1" />
    <testCase name="Viewer3cr tests - layout actions - should layouts" duration="4" />
    <testCase name="Viewer3cr tests - layout actions - should set prevLayout" duration="3" />
    <testCase name="Viewer3cr tests - mcad actions - should set mcad object visibility" duration="1" />
    <testCase name="Viewer3cr tests - mcad actions - should set mcad object colour" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle mcad object movement" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle rotateMcadObject" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle lockMcad" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle groupMcad" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle ungroupMcad" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle mcad inversion" duration="1" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle removeMcadObject" duration="0" />
    <testCase name="Viewer3cr tests - mcad actions - should toggle setMcadObjectTitle" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set createAnnotation2dTool" duration="1" />
    <testCase name="Viewer3cr tests - measurement actions - should set createAnnotation3dTool" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set createAnnotation" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set moveAnnotation2dTool" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set moveAnnotation3dTool" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set moveAnnotation" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set removeAnnotation" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set updateAnnotationTitle" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set updateAnnotationDescription" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set updateAnnotationActions" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should set measurement visibility" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should toggle length tool" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should toggle polygon tool" duration="0" />
    <testCase name="Viewer3cr tests - measurement actions - should toggle angle tool" duration="0" />
    <testCase name="Viewer3cr tests - navigation actions - should set nav cube position" duration="0" />
    <testCase name="Viewer3cr tests - navigation actions - should set nav cube visibility" duration="0" />
    <testCase name="Viewer3cr tests - navigation actions - should set nav cube interactivity" duration="0" />
    <testCase name="Viewer3cr tests - navigation actions - should set nav cube colour/opacity" duration="0" />
    <testCase name="Viewer3cr tests - navigation actions - should set nav cube highlight colour/opacity" duration="0" />
    <testCase name="Viewer3cr tests - navigation actions - should set nav cube setNavCubeGraphics" duration="0" />
    <testCase name="Viewer3cr tests - preset actions - should set setPreset" duration="3" />
    <testCase name="Viewer3cr tests - preset actions - should set setPreset change colour" duration="1" />
    <testCase name="Viewer3cr tests - scan movement actions - should scanMovementHandler" duration="1" />
    <testCase name="Viewer3cr tests - scan movement actions - should not scanMovementHandler transactionStarted" duration="1" />
    <testCase name="Viewer3cr tests - scan movement actions - should pan left" duration="0" />
    <testCase name="Viewer3cr tests - scan movement actions - should pan right" duration="0" />
    <testCase name="Viewer3cr tests - scan movement actions - should pan up" duration="0" />
    <testCase name="Viewer3cr tests - scan movement actions - should pan down" duration="0" />
    <testCase name="Viewer3cr tests - scan movement actions - should zoom in" duration="0" />
    <testCase name="Viewer3cr tests - scan movement actions - should zoom out" duration="0" />
    <testCase name="Viewer3cr tests - scan movement actions - should pan" duration="0" />
    <testCase name="Viewer3cr tests - scan orientation actions - should rotateByDeg" duration="0" />
    <testCase name="Viewer3cr tests - scan orientation actions - should flip 2d view horizontally" duration="0" />
    <testCase name="Viewer3cr tests - scan orientation actions - should flip 2d view vertically" duration="0" />
    <testCase name="Viewer3cr tests - scan orientation actions - should invert transform" duration="0" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="1" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="1" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="1" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="1" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="0" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="0" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelection" duration="1" />
    <testCase name="Viewer3cr tests - view selection actions - should viewSelectionToggleView" duration="1" />
    <testCase name="Viewer3cr tests - slider actions - should sliderHandler" duration="1" />
    <testCase name="Viewer3cr tests - slider actions - should not sliderHandler transactionStarted" duration="1" />
    <testCase name="Viewer3CR payloads - should sendPayload" duration="3" />
    <testCase name="Viewer3CR payloads - should sendPayload with message JSON" duration="1" />
    <testCase name="Viewer3CR payloads - should sendPayload with returnChannel JSON" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [file_management]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [file_management] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [sliders]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [sliders] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [scan_state]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [scan_state] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [view_selection]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [view_selection] and not on removal" duration="5" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [scan_orientation]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [scan_orientation] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [interactivity]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [interactivity] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [notifications]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [notifications] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [presets]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [presets] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [scan_movement]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [scan_movement] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [navigation_cube]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [navigation_cube] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [layout]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [layout] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [data_overlay]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [data_overlay] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [markups]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [markups] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [mcad]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call interface callbacks onPayload [mcad] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do03] and not on removal" duration="4" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do04]" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do04] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do05]" duration="5" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do05] and not on removal" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do06]" duration="5" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do06] and not on removal" duration="6" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do08]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do08] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do09]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do09] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do10]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do10] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do11]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do11] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do18]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [do18] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm02] and not on removal" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm05]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm06]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm06] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm08]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm08] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm09]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm09] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm10]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm10] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm12]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm12] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm13]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm13] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm14]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [fm14] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [in04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo01] and not on removal" duration="4" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [lo04] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu05]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu06]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu06] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu08]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu08] and not on removal" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu09]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu09] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu10]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu10] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu16]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu16] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu20]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu20] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu21]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu21] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu22]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mu22] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc03] and not on removal" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc05]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc06]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc06] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc07]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc08]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc08] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc09]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc09] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc10]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc10] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc11]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc11] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc12]" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc12] and not on removal" duration="3" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc13]" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc13] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc14]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc14] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc15]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc15] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc16]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc16] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc17]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc17] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc18]" duration="8" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [mc18] and not on removal" duration="4" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc02] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc05]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc08]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [nc08] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [pr01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [pr01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [pr02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [pr02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm05]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm06]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm06] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm08]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm08] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm09]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm09] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm10]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm10] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm11]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm11] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm12]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm12] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm13]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm13] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm14]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm14] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm15]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm15] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm16]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm16] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm17]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm17] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm18]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm18] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm19]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm19] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm20]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm20] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm21]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm21] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm22]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm22] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm23]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm23] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm24]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm24] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm26]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sm26] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so04]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [so04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl01]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl03]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl04]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl05]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl06]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl06] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl07] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl08]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl08] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl09]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl09] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl10]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl10] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl11]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl11] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl12]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl12] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl13]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl13] and not on removal" duration="2" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl14]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl14] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl15]" duration="0" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl15] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl16]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [sl16] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs01]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs01] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs02]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs02] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs03]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs03] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs04]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs04] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs05]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs05] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs06]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs06] and not on removal" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs07]" duration="1" />
    <testCase name="Viewer3CR callbacks - should call action callbacks onPayload [vs07] and not on removal" duration="1" />
  </file>
  <file path="src/stores/__tests__/data-overlay.store.spec.ts">
    <testCase name="data overlay store - should have defaults" duration="6" />
    <testCase name="data overlay store - should handle annotation event" duration="5" />
    <testCase name="data overlay store - should handle measurement event" duration="2" />
    <testCase name="data overlay store - should set Initial MCAD state" duration="1" />
    <testCase name="data overlay store - should set MCAD state" duration="1" />
    <testCase name="data overlay store - should set MCAD Event" duration="4" />
    <testCase name="data overlay store - should set annotations map" duration="2" />
    <testCase name="data overlay store - should set measurements map" duration="2" />
  </file>
  <file path="src/stores/__tests__/demo.store.spec.ts">
    <testCase name="demo store tests - should call demo licence options" duration="19" />
    <testCase name="demo store tests - should call basic demo patient options" duration="5" />
    <testCase name="demo store tests - should have demoType set to licence" duration="2" />
    <testCase name="demo store tests - should have demoType set to patient" duration="1" />
    <testCase name="demo store tests - should have demoOptions set to licence" duration="1" />
    <testCase name="demo store tests - should have demoOptions set to patient" duration="2" />
    <testCase name="demo store tests - should set demo to demo" duration="1" />
    <testCase name="demo store tests - should set demo to not demo" duration="1" />
    <testCase name="demo store tests - should set patient onMCADUpload" duration="71" />
    <testCase name="demo store tests - should set patient onSaveSession" duration="5" />
    <testCase name="demo store tests - should set licence onSaveSession" duration="2" />
  </file>
  <file path="src/stores/__tests__/drawer.store.spec.ts">
    <testCase name="drawer store - should be closed when home" duration="5" />
    <testCase name="drawer store - should be open when not home" duration="1" />
    <testCase name="drawer store - should be home when not set" duration="0" />
  </file>
  <file path="src/stores/__tests__/intro.store.spec.ts">
    <testCase name="intro store - should show intro by default" duration="5" />
    <testCase name="intro store - should persist to local storage" duration="6" />
    <testCase name="intro store - should mount and set from storage true" duration="2" />
    <testCase name="intro store - should mount and set from storage false" duration="1" />
    <testCase name="intro store - should mount and set from storage fail" duration="2" />
    <testCase name="intro store - should mount and set from storage empty" duration="1" />
  </file>
  <file path="src/stores/__tests__/language.store.spec.ts">
    <testCase name="language store - should default to browser language when available" duration="11" />
    <testCase name="language store - should use navigator.languages when available" duration="1" />
    <testCase name="language store - should use navigator.language when available" duration="1" />
    <testCase name="language store - should fallback to &quot;en&quot; when navigator language is unavailable" duration="1" />
  </file>
  <file path="src/stores/__tests__/mcad-floating.store.spec.ts">
    <testCase name="mcad floating store - should have defaults" duration="217" />
    <testCase name="mcad floating store - should pin horizontally top edge" duration="37" />
    <testCase name="mcad floating store - should pin horizontally bottom edge" duration="27" />
    <testCase name="mcad floating store - should pin vertically left edge" duration="22" />
    <testCase name="mcad floating store - should pin vertically right edge" duration="21" />
    <testCase name="mcad floating store - should not pin edge" duration="21" />
    <testCase name="mcad floating store - should pin vertically" duration="30" />
    <testCase name="mcad floating store - should slip from right" duration="35" />
    <testCase name="mcad floating store - should slip from left" duration="35" />
    <testCase name="mcad floating store - should slip from top" duration="44" />
    <testCase name="mcad floating store - should slip from bottom" duration="35" />
    <testCase name="mcad floating store - should slip from bottom and recollapse" duration="35" />
    <testCase name="mcad floating store - should slip from bottom and recollapse" duration="35" />
    <testCase name="mcad floating store - should slip from bottom and recollapse" duration="42" />
  </file>
  <file path="src/stores/__tests__/mcad.store.spec.ts">
    <testCase name="mcad store - should have defaults" duration="8" />
    <testCase name="mcad store - should handle mcad event" duration="6" />
    <testCase name="mcad store - should add mcad item" duration="3" />
    <testCase name="mcad store - should add mcad item with children" duration="3" />
    <testCase name="mcad store - should set Initial MCAD state" duration="3" />
    <testCase name="mcad store - should set MCAD state" duration="4" />
    <testCase name="mcad store - should set MCAD Event" duration="3" />
  </file>
  <file path="src/stores/__tests__/save.store.spec.ts">
    <testCase name="save store - should show saving state" duration="10" />
    <testCase name="save store - should show saved to cloud state" duration="1" />
    <testCase name="save store - should show saved temporarily state" duration="1" />
    <testCase name="save store - should show unsaved state" duration="1" />
    <testCase name="save store - should show error state" duration="1" />
    <testCase name="save store - should show text for timeout" duration="8" />
  </file>
  <file path="src/stores/__tests__/theme.store.spec.ts">
    <testCase name="theme store - should use default theme" duration="8" />
    <testCase name="theme store - should have theme preference" duration="1" />
  </file>
  <file path="src/stores/__tests__/tool.store.spec.ts">
    <testCase name="tool store - should have annotation create tool" duration="15" />
    <testCase name="tool store - should have annotation move tool" duration="1" />
    <testCase name="tool store - should have data overlay tool" duration="0" />
    <testCase name="tool store - should have measurement angle tool" duration="1" />
    <testCase name="tool store - should have measurement length tool" duration="0" />
    <testCase name="tool store - should have measurement polygon tool" duration="0" />
    <testCase name="tool store - should have mcad move tool" duration="0" />
    <testCase name="tool store - should have mcad rotate tool" duration="0" />
    <testCase name="tool store - should have mcad scale tool" duration="1" />
    <testCase name="tool store - should have mcad select tool" duration="0" />
  </file>
  <file path="src/stores/__tests__/upload.store.spec.ts">
    <testCase name="upload store - should have defaults" duration="5" />
    <testCase name="upload store - should show uploads if one exists" duration="3" />
  </file>
  <file path="src/stores/__tests__/viewer.store.spec.ts">
    <testCase name="viewer store - should have defaults" duration="8" />
  </file>
  <file path="src/tools/__tests__/annotation-create.tool.spec.ts">
    <testCase name="annotation create tool - should activate for 2D views" duration="13" />
    <testCase name="annotation create tool - should not activate for 3D view" duration="2" />
    <testCase name="annotation create tool - should activate and deactivate" duration="3" />
    <testCase name="annotation create tool - should activate annotations from 3cr" duration="2" />
    <testCase name="annotation create tool - should not activate annotations from 3cr" duration="1" />
  </file>
  <file path="src/tools/__tests__/annotation-move.tool.spec.ts">
    <testCase name="annotation move tool - should activate for 2D views" duration="14" />
    <testCase name="annotation move tool - should activate for 3D views" duration="5" />
    <testCase name="annotation move tool - should deactivate move" duration="3" />
    <testCase name="annotation move tool - should do nothing if not active" duration="2" />
    <testCase name="annotation move tool - should 2d if scanView Saggital" duration="6" />
    <testCase name="annotation move tool - should do nothing if scanView Undefined" duration="2" />
  </file>
  <file path="src/tools/__tests__/data-overlay.tool.spec.ts">
    <testCase name="data overlay tool - should capture annotation events" duration="15" />
    <testCase name="data overlay tool - should capture measurement events" duration="4" />
    <testCase name="data overlay tool - should capture mcad events" duration="4" />
    <testCase name="data overlay tool - should ignore event on mouse move" duration="7" />
    <testCase name="data overlay tool - should ignore event mousedown" duration="3" />
    <testCase name="data overlay tool - should ignore event mouseMove" duration="2" />
    <testCase name="data overlay tool - should defocus onInteraction on hover end" duration="2" />
    <testCase name="data overlay tool - should defocus mcad onInteraction on hover end" duration="3" />
    <testCase name="data overlay tool - should defocus mcad onInteraction on none" duration="3" />
  </file>
  <file path="src/tools/__tests__/mcad-move.tool.spec.ts">
    <testCase name="mcad move tool - should move via 3cr event" duration="17" />
    <testCase name="mcad move tool - should not move via 3cr event" duration="3" />
    <testCase name="mcad move tool - should move programmatically" duration="3" />
    <testCase name="mcad move tool - should deactivate move" duration="2" />
    <testCase name="mcad move tool - should do next prev" duration="2" />
    <testCase name="mcad move tool - should not do next prev" duration="2" />
    <testCase name="mcad move tool - should not do next prev" duration="2" />
  </file>
  <file path="src/tools/__tests__/mcad-rotate.tool.spec.ts">
    <testCase name="mcad rotate tool - should rotate via 3cr event" duration="15" />
    <testCase name="mcad rotate tool - should not rotate via 3cr event" duration="5" />
    <testCase name="mcad rotate tool - should rotate programmatically" duration="4" />
    <testCase name="mcad rotate tool - should deactivate move" duration="2" />
    <testCase name="mcad rotate tool - should deactivate move" duration="1" />
    <testCase name="mcad rotate tool - should do next prev" duration="3" />
    <testCase name="mcad rotate tool - should not do next prev" duration="3" />
  </file>
  <file path="src/tools/__tests__/mcad-scale.tool.spec.ts">
    <testCase name="mcad scale tool - should instantiate" duration="3" />
  </file>
  <file path="src/tools/__tests__/mcad-select.tool.spec.ts">
    <testCase name="mcad select tool - should select via 3cr event" duration="10" />
    <testCase name="mcad select tool - should select via 3cr event" duration="3" />
    <testCase name="mcad select tool - should select programmatically" duration="3" />
    <testCase name="mcad select tool - should check if selected (not)" duration="3" />
    <testCase name="mcad select tool - should toggle selected" duration="1" />
    <testCase name="mcad select tool - should toggle selected" duration="1" />
  </file>
  <file path="src/tools/__tests__/measurement-angle.tool.spec.ts">
    <testCase name="measurement angle tool - should activate tool" duration="5" />
  </file>
  <file path="src/tools/__tests__/measurement-length.tool.spec.ts">
    <testCase name="measurement length tool - should activate tool" duration="7" />
  </file>
  <file path="src/tools/__tests__/measurement-polygon.tool.spec.ts">
    <testCase name="measurement polygon tool - should activate tool" duration="11" />
  </file>
</testExecutions>