diff --git a/TF_Implementation/test/test_aPID_tf.py b/TF_Implementation/test/test_aPID_tf.py index 6eba41a..18a7cb4 100644 --- a/TF_Implementation/test/test_aPID_tf.py +++ b/TF_Implementation/test/test_aPID_tf.py @@ -14,6 +14,9 @@ class TestAdaptivePIDTf(unittest.TestCase): self.input_dim = 3 self.rbf_model = RBFAdaptiveModel(self.n_centers, self.input_dim) self.apid = AdaptivePIDTf(self.Kp, self.Ki, self.Kd, self.rbf_model) + self.target = 10.0 + self.measured_value = 8.0 + self.dt = 0.1 def test_initialization(self): """ Test initialization of the controller.""" @@ -26,6 +29,18 @@ class TestAdaptivePIDTf(unittest.TestCase): self.assertEqual(self.apid.integral, 0) self.assertEqual(self.apid.derivative, 0) + def test_update(self): + """ Test the update method.""" + control_signal = self.apid.update(self.target, self.measured_value, self.dt) + + self.assertIsInstance(control_signal, float) + self.assertEqual(self.apid.prev_err, self.apid.error) + + integral = self.apid.integral + self.assertAlmostEqual(integral, (self.target - self.measured_value) * self.dt) + + derivative = self.apid.derivative + self.assertAlmostEqual(derivative, (self.target - self.measured_value)/self.dt) if __name__ == '__main__':