Ocean
TestEquation.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_TEST_TESTMATH_EQUATION_H
9 #define META_OCEAN_TEST_TESTMATH_EQUATION_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class implements a math equation test.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestEquation
27 {
28  public:
29 
30  /**
31  * Tests all math equation functions.
32  * @param testDuration Number of seconds for each test, with range (0, infinity)
33  * @return True, if succeeded
34  */
35  static bool test(const double testDuration);
36 
37  /**
38  * Tests the linear equation.
39  * @param testDuration Number of seconds for each test, with range (0, infinity)
40  * @return True, if succeeded
41  */
42  static bool testLinearEquation(const double testDuration);
43 
44  /**
45  * Tests the quadratic equation.
46  * @param testDuration Number of seconds for each test, with range (0, infinity)
47  * @return True, if succeeded
48  */
49  static bool testQuadraticEquation(const double testDuration);
50 
51  /**
52  * Tests the qubic equation.
53  * @param testDuration Number of seconds for each test, with range (0, infinity)
54  * @return True, if succeeded
55  */
56  static bool testCubicEquation(const double testDuration);
57 
58  /**
59  * Tests the quartic equation.
60  * @param testDuration Number of seconds for each test, with range (0, infinity)
61  * @return True, if succeeded
62  */
63  static bool testQuarticEquation(const double testDuration);
64 
65  private:
66 
67  /**
68  * Validates the linear equation.
69  * @param testDuration Number of seconds for each test, with range (0, infinity)
70  * @return Percent of valid root calculations, with range [0, 1]
71  */
72  static double validateLinearEquation(const double testDuration);
73 
74  /**
75  * Validates the quadratic equation.
76  * @param testDuration Number of seconds for each test, with range (0, infinity)
77  * @return Percent of valid root calculations, with range [0, 1]
78  */
79  static double validateQuadraticEquation(const double testDuration);
80 
81  /**
82  * Validates the cubic equation.
83  * @param testDuration Number of seconds for each test, with range (0, infinity)
84  * @return Percent of valid root calculations, with range [0, 1]
85  */
86  static double validateCubicEquation(const double testDuration);
87 
88  /**
89  * Validates the quartic equation.
90  * @param testDuration Number of seconds for each test, with range (0, infinity)
91  * @return Percent of valid root calculations, with range [0, 1]
92  */
93  static double validateQuarticEquation(const double testDuration);
94 };
95 
96 }
97 
98 }
99 
100 }
101 
102 #endif // META_OCEAN_TEST_TESTMATH_EQUATION_H
This class implements a math equation test.
Definition: TestEquation.h:27
static bool testLinearEquation(const double testDuration)
Tests the linear equation.
static bool testQuarticEquation(const double testDuration)
Tests the quartic equation.
static bool testCubicEquation(const double testDuration)
Tests the qubic equation.
static bool testQuadraticEquation(const double testDuration)
Tests the quadratic equation.
static double validateQuadraticEquation(const double testDuration)
Validates the quadratic equation.
static double validateQuarticEquation(const double testDuration)
Validates the quartic equation.
static double validateCubicEquation(const double testDuration)
Validates the cubic equation.
static bool test(const double testDuration)
Tests all math equation functions.
static double validateLinearEquation(const double testDuration)
Validates the linear equation.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15