import unittest import pymel.core as pm import artv2.components.base_components.rig_asset as rig_asset import artv2.components.root as root import artv2.components.biped_leg as leg import artv2.utilities.component_utilities as component_utils class Test_Module_Utils(unittest.TestCase): @staticmethod def _create_asset(): new_asset = rig_asset.RigAsset() return new_asset @staticmethod def _create_some_components(): root.Root() leg.BipedLeg(prefix="l") leg.BipedLeg(prefix="r") def test_get_rig_asset_node(self): with self.assertRaises(StandardError): component_utils.get_rig_asset_node() asset = self._create_asset() self._create_some_components() character_node = component_utils.get_rig_asset_node() self.assertEquals(character_node, asset.network_node) def test_return_all_components(self): self._create_asset() self._create_some_components() components = component_utils.return_all_components() self.assertEquals(len(components), 3) def test_get_top_level_mover(self): self._create_asset() leg_inst = leg.BipedLeg() pynode = pm.PyNode(leg_inst.network_node.mover_grp.connections()[0]) top_mover = component_utils.get_top_level_mover(pynode) self.assertEquals(top_mover.name(), "leg_thigh_mover") leg_inst.prefix = "l" top_mover = component_utils.get_top_level_mover(pynode) self.assertEquals(top_mover.name(), "l_leg_thigh_mover") def test_find_mover_from_joint(self): self._create_asset() leg_inst = leg.BipedLeg() mover = component_utils.find_associated_mover_from_joint("thigh") self.assertEquals(mover, "leg_thigh_mover") leg_inst.suffix = "l" mover = component_utils.find_associated_mover_from_joint("thigh_l") self.assertEquals(mover, "leg_l_thigh_mover") def test_get_all_created_joints(self): self._create_asset() self._create_some_components() joints = component_utils.get_all_created_joints() self.assertEquals(len(joints), 11) new_inst = leg.BipedLeg(prefix="new") new_inst.num_thigh_twists = 2 joints = component_utils.get_all_created_joints() self.assertEquals(len(joints), 18) def test_check_for_children(self): self._create_asset() root.Root() l_leg_inst = leg.BipedLeg(prefix="l") r_leg_inst = leg.BipedLeg(prefix="r") l_leg_inst.num_thigh_twists = 2 r_leg_inst.parent = "l_thigh_twist_02" l_leg_inst.num_thigh_twists = 1 self.assertEquals(r_leg_inst.parent, "root") def test_validate_prefix(self): self._create_asset() leg_inst = leg.BipedLeg() with self.assertRaises(StandardError): leg_inst.prefix = "1" with self.assertRaises(StandardError): leg_inst.prefix = "x-man" leg_inst.prefix = "l" r_leg_inst = leg.BipedLeg() with self.assertRaises(StandardError): r_leg_inst.prefix = "l" mover_grp = leg_inst.network_node.mover_grp.connections()[0] child = mover_grp.getChildren()[0] test_mover_name = child.nodeName() self.assertEquals(test_mover_name, "l_leg_thigh_mover") pynode = pm.PyNode("l_leg_thigh_mover_offset") created_joint = pynode.created_joint.get() self.assertEquals(created_joint, "l_thigh") def test_validate_suffix(self): self._create_asset() leg_inst = leg.BipedLeg() with self.assertRaises(StandardError): leg_inst.suffix = "x-man" leg_inst.suffix = "l" r_leg_inst = leg.BipedLeg() with self.assertRaises(StandardError): r_leg_inst.suffix = "l" leg_inst.suffix = "l_01" mover_grp = leg_inst.network_node.mover_grp.connections()[0] child = mover_grp.getChildren()[0] test_mover_name = child.nodeName() self.assertEquals(test_mover_name, "leg_l_01_thigh_mover") pynode = pm.PyNode("leg_l_01_thigh_mover_offset") created_joint = pynode.created_joint.get() self.assertEquals(created_joint, "thigh_l_01")