Files
Hippolyzer/tests/base/test_skeleton.py
2022-10-19 02:06:35 +00:00

33 lines
967 B
Python

import unittest
import numpy as np
from hippolyzer.lib.base.mesh_skeleton import load_avatar_skeleton
class TestSkeleton(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.skeleton = load_avatar_skeleton()
def test_get_joint(self):
node = self.skeleton["mNeck"]
self.assertEqual("mNeck", node.name)
self.assertEqual(self.skeleton, node.skeleton())
def test_get_joint_index(self):
self.assertEqual(7, self.skeleton["mNeck"].index)
self.assertEqual(113, self.skeleton["mKneeLeft"].index)
def test_get_joint_parent(self):
self.assertEqual("mChest", self.skeleton["mNeck"].parent().name)
def test_get_joint_matrix(self):
expected_mat = np.array([
[1., 0., 0., -0.01],
[0., 1., 0., 0.],
[0., 0., 1., 0.251],
[0., 0., 0., 1.]
])
np.testing.assert_equal(expected_mat, self.skeleton["mNeck"].matrix)