File indexing completed on 2025-08-06 08:11:35
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <boost/test/data/test_case.hpp>
0010 #include <boost/test/tools/output_test_stream.hpp>
0011 #include <boost/test/unit_test.hpp>
0012
0013 #include "Acts/Tests/CommonHelpers/FloatComparisons.hpp"
0014 #include "Acts/Utilities/detail/RealQuadraticEquation.hpp"
0015
0016 using Acts::detail::RealQuadraticEquation;
0017
0018 namespace Acts {
0019 namespace Test {
0020 BOOST_AUTO_TEST_SUITE(Surfaces)
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 }