1+ from dynamic_payload_analysis_core .core import TorqueCalculator
2+ import unittest
3+ import os
4+
5+
6+ class TestTorqueCalculator (unittest .TestCase ):
7+
8+ def __init__ (self , methodName = "runTest" ):
9+ super ().__init__ (methodName )
10+
11+ test_dir = os .path .dirname (__file__ )
12+ urdf_path = os .path .join (test_dir , "test_xml.urdf" )
13+ with open (urdf_path , "r" ) as f :
14+ self .xml_string = f .read ()
15+
16+ self .robot_handler = TorqueCalculator (robot_description = self .xml_string )
17+
18+
19+ def test_init_torque_calculator (self ):
20+ self .assertIsNotNone (self .robot_handler .model , "Model should be initialized" )
21+ self .assertIsNotNone (self .robot_handler .geom_model ,"Geom model should be initialized" )
22+ self .assertIsNotNone (self .robot_handler .geom_data , "Model data should be initialized" )
23+ print ("✅ Initialization assertions passed" )
24+
25+ def test_get_root_name (self ):
26+ root_name = self .robot_handler .get_root_joint_name (self .xml_string )
27+ self .assertEqual (self .robot_handler .get_root_name (), "base_footprint" )
28+ self .assertEqual (root_name , self .robot_handler .get_root_name ())
29+ print ("✅ Root name assertion passed" )
30+
31+ def test_subtree (self ):
32+ subtrees = self .robot_handler .get_subtrees ()
33+
34+ self .assertEqual (len (subtrees ), 7 )
35+ self .assertEqual (subtrees [0 ]["tip_link_name" ], "wheel_front_left_link" )
36+ self .assertEqual (subtrees [1 ]["tip_link_name" ], "wheel_front_right_link" )
37+ self .assertEqual (subtrees [2 ]["tip_link_name" ], "wheel_rear_left_link" )
38+ self .assertEqual (subtrees [3 ]["tip_link_name" ], "wheel_rear_right_link" )
39+ self .assertEqual (subtrees [4 ]["tip_link_name" ], "gripper_left_outer_finger_left_link" )
40+ self .assertEqual (subtrees [5 ]["tip_link_name" ], "gripper_right_outer_finger_left_link" )
41+ self .assertEqual (subtrees [6 ]["tip_link_name" ], "head_2_link" )
42+ print ("✅ Subtrees assertion passed" )
43+
44+ def test_compute_mimic_joints (self ):
45+ mimic_joints = self .robot_handler .mimic_joint_names
46+ self .assertEqual (len (mimic_joints ), 10 )
47+ self .assertIn ("gripper_left_inner_finger_left_joint" , mimic_joints )
48+ self .assertIn ("gripper_right_inner_finger_left_joint" , mimic_joints )
49+ self .assertNotIn ("arm_1_joint" , mimic_joints )
50+ print ("✅ Mimic joints assertion passed" )
51+
52+ def
53+
54+
55+ if __name__ == "__main__" :
56+ unittest .main ()
0 commit comments