From e8d1b543d70b21f53ce76096e64dacfcc45aed27 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <dmitri.naumov@ufz.de>
Date: Thu, 17 Mar 2016 18:23:10 +0100
Subject: [PATCH] [T] Extend ExponentialExtraData test with setFunc.

---
 Tests/MathLib/TestCVode.cpp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/Tests/MathLib/TestCVode.cpp b/Tests/MathLib/TestCVode.cpp
index 8b2ed6ea589..71e60951f6c 100644
--- a/Tests/MathLib/TestCVode.cpp
+++ b/Tests/MathLib/TestCVode.cpp
@@ -128,6 +128,24 @@ TEST(MathLibCVodeTest, ExponentialExtraData)
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);
 	}
+
+	ode_solver->setFunction(f_extra, nullptr, data);
+	ode_solver->preSolve();
+	for (unsigned i = 11; i <= 15; ++i)
+	{
+		const double time = dt * i;
+
+		ode_solver->solve(time);
+
+		auto const y = ode_solver->getSolution();
+		double time_reached = ode_solver->getTime();
+
+		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
+		            y[0] - exp(-15.0 * time_reached));
+
+		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
+		// std::printf("time: %g\n", time_reached);
+	}
 }
 
 TEST(MathLibCVodeTest, ExponentialWithJacobian)
-- 
GitLab