Skip to content

Commit f8cfd91

Browse files
committed
added first version of test script for core library
1 parent f2ecebf commit f8cfd91

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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()

dynamic_payload_analysis_core/test/test_xml.urdf

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)