File indexing completed on 2025-12-16 09:25:20
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <boost/test/unit_test.hpp>
0010
0011 #include "Acts/Utilities/detail/RealQuadraticEquation.hpp"
0012 #include "ActsTests/CommonHelpers/FloatComparisons.hpp"
0013
0014 using namespace Acts;
0015 using Acts::detail::RealQuadraticEquation;
0016
0017 namespace ActsTests {
0018
0019 BOOST_AUTO_TEST_SUITE(UtilitiesSuite)
0020
0021
0022 BOOST_AUTO_TEST_CASE(RealQuadraticEquationConstruction) {
0023 double a(1.0), b(-3.), c(2.);
0024
0025
0026
0027
0028 BOOST_REQUIRE_NO_THROW(RealQuadraticEquation(a, b, c));
0029
0030
0031 RealQuadraticEquation orig(a, b, c);
0032 BOOST_REQUIRE_NO_THROW(RealQuadraticEquation copied(orig); (void)copied);
0033 }
0034
0035 BOOST_AUTO_TEST_CASE(RealQuadraticEquationProperties) {
0036 double a(1.0), b(-3.), c(2.);
0037
0038
0039 RealQuadraticEquation equation(a, b, c);
0040
0041
0042 CHECK_CLOSE_REL(equation.first, 2., 1e-6);
0043 CHECK_CLOSE_REL(equation.second, 1., 1e-6);
0044 BOOST_CHECK_EQUAL(equation.solutions, 2);
0045 }
0046
0047
0048 BOOST_AUTO_TEST_CASE(RealQuadraticEquationAssignment) {
0049 double a(1.0), b(-3.), c(2.);
0050 RealQuadraticEquation realQuadraticEquationObject(a, b, c);
0051
0052
0053
0054 RealQuadraticEquation assignedRealQuadraticEquationObject(9., -3.5, 6.7);
0055 assignedRealQuadraticEquationObject = realQuadraticEquationObject;
0056 CHECK_CLOSE_REL(assignedRealQuadraticEquationObject.first, 2., 1e-6);
0057 CHECK_CLOSE_REL(assignedRealQuadraticEquationObject.second, 1., 1e-6);
0058 BOOST_CHECK_EQUAL(assignedRealQuadraticEquationObject.solutions, 2);
0059
0060
0061
0062 }
0063 BOOST_AUTO_TEST_SUITE_END()
0064
0065 }