def test_build_execute_from_selected_main_op_nd(self): """ Test if the build execute correctly if you select a main op node. """ pmc.select(self.test_single_control.main_op_nd) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps()
def test_build_execute_from_scene(self): """ Test if the build execute correctly if nothing is selected. """ pmc.select(clear=True) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps()
def test_build_execute_from_selected_operators_root_nd(self): """ Test if the build execute correctly if you select a operators root node. """ pmc.select(self.test_single_control.op_root_nd) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps()
def test_bnd_rig_container(self): """ Check if the bind rig container has the correct jnts in it. """ pmc.select(clear=True) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps() # Get the rig container in the scene based on the meta god nd. rig_container = self.build_instance.get_rig_containers_from_scene()[0] rig_container_instance = build.RigContainer( rig_container=rig_container) rig_container_instance.get_container_content() bnd_rig_container = rig_container_instance.get_container_content_by_string_pattern( "_RIG_")[1] bnd_rig_container_content = bnd_rig_container.getNodeList() self.assertIsNotNone(bnd_rig_container_content) for jnt in bnd_rig_container_content: self.assertEquals(jnt.nodeType(), "joint") self.assertIn("_BND_", jnt.name()) # Merge all joint names into one single string for a easier checkup. bnd_rig_container_content_string = "_".join( [jnt.name() for jnt in bnd_rig_container_content]) self.assertIn("_{}_".format(self.CONTROL_NAME), bnd_rig_container_content_string) self.assertIn("_{}_".format(self.CONTROL_NAME_1), bnd_rig_container_content_string)
def test_rig_container_content(self): """ Test the rig container content. """ # The patterns for check the content dic. content_check_str_patterns = [ "_BSHP_", "_COMPONENTS_", "_GEO_", "_RIG_", "_SHARED_ATTR_", ] pmc.select(clear=True) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps() # Get the rig container in the scene based on the meta god nd. rig_container = self.build_instance.get_rig_containers_from_scene()[0] rig_container_instance = build.RigContainer( rig_container=rig_container) # Init to get the container content dic. rig_container_instance.get_container_content() # Check the container_content dic for the patterns. for pattern in content_check_str_patterns: container_content = rig_container_instance.get_container_content_by_string_pattern( pattern) self.assertIsNotNone(container_content) self.assertIn(pattern, container_content[0].name())
def test_build_rig_from_json_file(self): """ Test for building a rig with a json file. """ file_path = os.path.normpath("{}/temp/test_rig_build.json".format( constants.BUILD_JSON_PATH)) pmc.newFile(force=True) self.build_instance = build.MainBuild() self.build_instance.build_from_json_file(file_path)
def test_component_container_content(self): """ Test if the components container of the rig container has the correct content count. """ pmc.select(clear=True) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps() # Get the rig container in the scene based on the meta god nd. rig_container = self.build_instance.get_rig_containers_from_scene()[0] rig_container_instance = build.RigContainer( rig_container=rig_container) rig_container_instance.get_container_content() component_container = rig_container_instance.get_container_content_by_string_pattern( "_COMPONENTS_")[0] components = component_container.getNodeList() self.assertEqual(len(components), 2)
def test_build_with_multiple_operators_root_nd(self): """ Test if the build succeed if we have multiple operators root nd in the scene. """ # second root_op_nd pmc.select(clear=True) self.test_single_control_2 = test_sc_create.MainCreate( self.CONTROL_NAME_2, "M", 0) self.test_single_control_2._init_operator() self.test_single_control_2.set_control_shape("sphere") self.test_single_control_2.set_rig_name(self.RIG_NAME_1) self.test_single_control_2.main_op_nd.translate.set(10, 20, 0) self.test_single_control_3 = test_sc_create.MainCreate( self.CONTROL_NAME_3, "L", 1) self.test_single_control_3._init_operator( parent=self.test_single_control_2.main_op_nd) self.test_single_control_3.set_control_shape("pyramide") self.test_single_control_3.main_op_nd.translate.set(14, 100, 40) self.test_single_control_3.main_op_nd.rotate.set(30, 60, 80) # third root_op_nd pmc.select(clear=True) self.test_single_control_4 = test_sc_create.MainCreate( self.CONTROL_NAME_4, "M", 0) self.test_single_control_4._init_operator() self.test_single_control_4.set_control_shape("box") self.test_single_control_4.set_rig_name(self.RIG_NAME_2) self.test_single_control_4.main_op_nd.translate.set(10, 20, 0) self.test_single_control_5 = test_sc_create.MainCreate( self.CONTROL_NAME_5, "L", 1) self.test_single_control_5._init_operator( parent=self.test_single_control_4.main_op_nd) self.test_single_control_5.set_control_shape("pyramide") self.test_single_control_5.main_op_nd.translate.set(200, 10, 80) self.test_single_control_5.main_op_nd.rotate.set(60, 30, 100) pmc.select(clear=True) self.build_instance = build.MainBuild() self.build_instance.execute_building_steps() # Test the rig names rig_containers = self.build_instance.get_rig_containers_from_scene() self.assertIn(self.RIG_NAME, rig_containers[0].name()) self.assertIn(self.RIG_NAME_1, rig_containers[1].name()) self.assertIn(self.RIG_NAME_2, rig_containers[2].name())