********* Start testing of tst_AnimationUtils *********
Config: Using QtTest library 6.11.0, Qt 6.11.0 (arm64-little_endian-lp64 shared (dynamic) debug build; by Apple LLVM 17.0.0 (clang-1700.3.19.1)), macos 26.0.0
PASS   : tst_AnimationUtils::initTestCase()
PASS   : tst_AnimationUtils::checkBuildPropertyMappings(single mapping)
PASS   : tst_AnimationUtils::checkBuildPropertyMappings(multiple mappings)
PASS   : tst_AnimationUtils::checkBuildPropertyMappings(single skeleton mapping)
QWARN  : tst_AnimationUtils::checkLocalTimeFromElapsedTime() Duplicate data tag "simple, t_current = 0.5, t_elapsed = 0.6, loop_current = 1, loop_count = 2" - please rename.
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0, t_elapsed = 0, loop_current = 0)
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0, t_elapsed = 0.5, loop_current = 0)
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0, t_elapsed = 1.5, loop_current = 0)
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0.5, t_elapsed = 0.6, loop_current = 0)
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0.5, t_elapsed = 0.6, loop_current = 0, loop_count = 2)
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0.5, t_elapsed = 0.6, loop_current = 1, loop_count = 2)
PASS   : tst_AnimationUtils::checkLocalTimeFromElapsedTime(simple, t_current = 0.5, t_elapsed = 0.6, loop_current = 1, loop_count = 2)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(vec3 translation, final = false)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(vec3 translation, final = true, normalizedTime = 1.0f)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(vec3 translation, vec3 scale, final = false)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(vec3 translation, vec3 scale, final = true)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(double mass)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(vec2 pos)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(vec4 foo)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(quaternion rotation)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(QColor rgb color)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(QColor rgba color)
PASS   : tst_AnimationUtils::checkPreparePropertyChanges(QVariantList weights)
PASS   : tst_AnimationUtils::checkPrepareCallbacks(vec3 translation, no flags)
PASS   : tst_AnimationUtils::checkPrepareCallbacks(double, no flags)
PASS   : tst_AnimationUtils::checkPrepareCallbacks(float, OnThreadPool)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip1.json, t = 0.0)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip1.json, t = duration)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip1.json, t = duration/2)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip2.json, t = 0.0)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip2.json, t = duration)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip2.json, t = duration/2)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip4.json, linear, t = duration)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip4.json, linear, t = duration/2)
PASS   : tst_AnimationUtils::checkEvaluateClipAtLocalTime(clip6.json, slerp, t = duration/2)
PASS   : tst_AnimationUtils::checkEvaluateClipAtPhase(clip1.json, phi = 0.0)
PASS   : tst_AnimationUtils::checkEvaluateClipAtPhase(clip1.json, phi = 1.0)
PASS   : tst_AnimationUtils::checkEvaluateClipAtPhase(clip1.json, phi = 0.5)
PASS   : tst_AnimationUtils::checkEvaluateClipAtPhase(clip2.json, phi = 0.0)
PASS   : tst_AnimationUtils::checkEvaluateClipAtPhase(clip2.json, t = 1.0)
PASS   : tst_AnimationUtils::checkEvaluateClipAtPhase(clip2.json, phi = 0.5)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec3 location, pre-sorted, no component names, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec3 location, pre-sorted, no component names, offset = 4)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec3 location, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec3 location, offset = 4)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec2 pos, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec2 pos, offset = 2)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec4 foo, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(vec4 foo, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(double Mass, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(double Mass, offset = 5)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(quaternion Rotation, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(quaternion Rotation, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(quaternion Rotation, offset = 0, randomized)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(quaternion Rotation, offset = 10, randomized)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(QColor RGB Color, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(QColor RGB Color, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(QColor RGBA Color, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(QColor RGBA Color, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(MorphWeights List count = 6, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(MorphWeights List count = 6, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(MorphWeights Vec count = 6, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndicesHelper(MorphWeights Vec count = 6, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(quaternion Rotation, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(quaternion Rotation, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(vec3 location, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(vec3 location, offset = 4)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(QColor RGB Color, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(QColor RGB Color, offset = 10)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(QColor RGBA Color, offset = 0)
PASS   : tst_AnimationUtils::checkChannelComponentsToIndices(QColor RGBA Color, offset = 10)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, globalTime = 0)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = duration + 1)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = 2 * duration, loops = infinite)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = 2 * duration + 1, loops = 2)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = duration + 1, loops = 2, current_loop = 1)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = duration / 2, loops = 1, current_loop = 1, playback_rate = -1)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = duration + 1, loops = 1, current_loop = 1, playback_rate = -1)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = duration + 1, loops = 2, current_loop = 0, playback_rate = -1)
PASS   : tst_AnimationUtils::checkEvaluationDataForClip(clip1.json, elapsedTime = duration + 1, loops = 2, current_loop = 1, playback_rate = -1)
PASS   : tst_AnimationUtils::checkEvaluationDataForAnimator(globalStartTime = 0, elapsedTime = 0, loops = 1)
PASS   : tst_AnimationUtils::checkEvaluationDataForAnimator(globalStartTime = 0, elapsedTime = 0, loops = 5)
PASS   : tst_AnimationUtils::checkEvaluationDataForAnimator(globalStartTime = 0, elapsedTime = 5, loops = 1)
PASS   : tst_AnimationUtils::checkEvaluationDataForAnimator(globalStartTime = 3, elapsedTime = 2, loops = 1)
PASS   : tst_AnimationUtils::checkGatherValueNodesToEvaluate(simple lerp)
PASS   : tst_AnimationUtils::checkGatherValueNodesToEvaluate(value only)
PASS   : tst_AnimationUtils::checkEvaluateBlendTree(mean node, 1 channel)
PASS   : tst_AnimationUtils::checkEvaluateBlendTree(mean node, 2 channels)
PASS   : tst_AnimationUtils::checkEvaluateBlendTree(3 mean nodes, 1 channel)
PASS   : tst_AnimationUtils::checkEvaluateBlendTree(3 mean nodes + additive, 1 channel)
PASS   : tst_AnimationUtils::checkFormatClipResults(identity)
PASS   : tst_AnimationUtils::checkFormatClipResults(swap)
PASS   : tst_AnimationUtils::checkFormatClipResults(swap subset)
PASS   : tst_AnimationUtils::checkFormatClipResults(reverse)
PASS   : tst_AnimationUtils::checkFormatClipResults(include missing)
PASS   : tst_AnimationUtils::checkBuildRequiredChannelsAndTypes(Location, vec3)
PASS   : tst_AnimationUtils::checkBuildRequiredChannelsAndTypes(Multiple unique channels)
PASS   : tst_AnimationUtils::checkBuildRequiredChannelsAndTypes(Multiple channels with repeats)
PASS   : tst_AnimationUtils::checkBuildRequiredChannelsAndTypes(Skeleton, 10 joints)
PASS   : tst_AnimationUtils::checkAssignChannelComponentIndices(vec3 location)
PASS   : tst_AnimationUtils::checkAssignChannelComponentIndices(vec3 location, quaterion rotation)
PASS   : tst_AnimationUtils::checkAssignChannelComponentIndices(vec3 location, quaterion rotation, pbr metal-rough morphweights)
PASS   : tst_AnimationUtils::checkAssignChannelComponentIndices(skeleton, 4 joints)
PASS   : tst_AnimationUtils::checkGenerateClipFormatIndices(rotation, location, pbr metal-rough)
PASS   : tst_AnimationUtils::checkGenerateClipFormatIndices(location, rotation, pbr metal-rough)
PASS   : tst_AnimationUtils::checkGenerateClipFormatIndices(rotation, location, albedo (missing), metal-rough)
PASS   : tst_AnimationUtils::checkGenerateClipFormatIndices(location, rotation, albedo (missing), metal-rough)
PASS   : tst_AnimationUtils::checkGenerateClipFormatIndices(skeleton (SQT), 4 joints)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(translation)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(rotation)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(scale)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(joint 0 scale)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(joint 0 rotation)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(joint 0 translation)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(joint 1 scale)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(joint 1 rotation)
PASS   : tst_AnimationUtils::checkDefaultValueForChannel(joint 1 translation)
PASS   : tst_AnimationUtils::cleanupTestCase()
Totals: 117 passed, 0 failed, 0 skipped, 0 blacklisted, 13ms
********* Finished testing of tst_AnimationUtils *********
