diff --git a/Tests/MathLib/TestCVode.cpp b/Tests/MathLib/TestCVode.cpp
index 9175181f00ad6ad97a51775181a0b244402b1e70..16ca676c3b5a7c81245d359ae8d36894846389a6 100644
--- a/Tests/MathLib/TestCVode.cpp
+++ b/Tests/MathLib/TestCVode.cpp
@@ -80,9 +80,12 @@ TEST(MathLibCVodeTest, Exponential)
 
 		auto const y = ode_solver->getSolution();
 		double time_reached = ode_solver->getTime();
+		auto const y_dot = ode_solver->getYDot(time_reached, y);
 
-		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
-		            y[0] - exp(-15.0 * time_reached));
+		std::printf(
+		    "t: %14.7g, y: %14.7g, diff: %14.7g, y_dot: %14.7g, diff: %14.7g\n",
+		    time_reached, y[0], y[0] - exp(-15.0 * time_reached), y_dot[0],
+		    y_dot[0] + 15.0 * exp(-15.0 * time_reached));
 
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);
@@ -117,9 +120,12 @@ TEST(MathLibCVodeTest, ExponentialExtraData)
 
 		auto const y = ode_solver->getSolution();
 		double time_reached = ode_solver->getTime();
+		auto const y_dot = ode_solver->getYDot(time_reached, y);
 
-		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
-		            y[0] - exp(-15.0 * time_reached));
+		std::printf(
+		    "t: %14.7g, y: %14.7g, diff: %14.7g, y_dot: %14.7g, diff: %14.7g\n",
+		    time_reached, y[0], y[0] - exp(-15.0 * time_reached), y_dot[0],
+		    y_dot[0] + 15.0 * exp(-15.0 * time_reached));
 
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);
@@ -135,9 +141,12 @@ TEST(MathLibCVodeTest, ExponentialExtraData)
 
 		auto const y = ode_solver->getSolution();
 		double time_reached = ode_solver->getTime();
+		auto const y_dot = ode_solver->getYDot(time_reached, y);
 
-		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
-		            y[0] - exp(-15.0 * time_reached));
+		std::printf(
+		    "t: %14.7g, y: %14.7g, diff: %14.7g, y_dot: %14.7g, diff: %14.7g\n",
+		    time_reached, y[0], y[0] - exp(-15.0 * time_reached), y_dot[0],
+		    y_dot[0] + 15.0 * exp(-15.0 * time_reached));
 
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);
@@ -172,9 +181,12 @@ TEST(MathLibCVodeTest, ExponentialWithJacobian)
 
 		auto const y = ode_solver->getSolution();
 		double time_reached = ode_solver->getTime();
+		auto const y_dot = ode_solver->getYDot(time_reached, y);
 
-		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
-		            y[0] - exp(-15.0 * time_reached));
+		std::printf(
+		    "t: %14.7g, y: %14.7g, diff: %14.7g, y_dot: %14.7g, diff: %14.7g\n",
+		    time_reached, y[0], y[0] - exp(-15.0 * time_reached), y_dot[0],
+		    y_dot[0] + 15.0 * exp(-15.0 * time_reached));
 
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);
@@ -212,9 +224,12 @@ TEST(MathLibCVodeTest, ExponentialWithJacobianNewton)
 
 		auto const y = ode_solver->getSolution();
 		double time_reached = ode_solver->getTime();
+		auto const y_dot = ode_solver->getYDot(time_reached, y);
 
-		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
-		            y[0] - exp(-15.0 * time_reached));
+		std::printf(
+		    "t: %14.7g, y: %14.7g, diff: %14.7g, y_dot: %14.7g, diff: %14.7g\n",
+		    time_reached, y[0], y[0] - exp(-15.0 * time_reached), y_dot[0],
+		    y_dot[0] + 15.0 * exp(-15.0 * time_reached));
 
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);