File indexing completed on 2025-11-03 08:59:06
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 }