Ocean
Loading...
Searching...
No Matches
TestHomogenousMatrix4.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_TEST_HOMOGENOUS_MATRIX_4_H
9#define META_OCEAN_TEST_TESTMATH_TEST_HOMOGENOUS_MATRIX_4_H
10
12
14
15namespace Ocean
16{
17
18namespace Test
19{
20
21namespace TestMath
22{
23
24/**
25 * This class implements a test for 4x4 homogeneous matrices.
26 * @ingroup testmath
27 */
28class OCEAN_TEST_MATH_EXPORT TestHomogenousMatrix4
29{
30 public:
31
32 /**
33 * Tests all homogeneous matrix 4x4 functions.
34 * @param testDuration Number of seconds for each test, with range (0, infinity)
35 * @param selector The test selector
36 * @return True, if succeeded
37 */
38 static bool test(const double testDuration, const TestSelector& selector);
39
40 /**
41 * Tests the messenger function.
42 * @return True, if succeeded
43 */
44 static bool testWriteToMessenger();
45
46 /**
47 * Tests the matrix constructor.
48 * @param testDuration Number of seconds for each test, with range (0, infinity)
49 * @return True, if succeeded
50 * @tparam T The floating point data type to be used for testing
51 */
52 template <typename T>
53 static bool testConstructor(const double testDuration);
54
55 /**
56 * Tests the element-based constructor.
57 * @param testDuration The number of seconds for each test, with range (0, infinity)
58 * @return True, if succeeded
59 * @tparam T The floating point data type to be used for testing
60 */
61 template <typename T>
62 static bool testElementConstructor(const double testDuration);
63
64 /**
65 * Tests the invert function.
66 * @param testDuration Number of seconds for each test, with range (0, infinity)
67 * @return True, if succeeded
68 * @tparam T The floating point data type to be used for testing
69 */
70 template <typename T>
71 static bool testInvert(const double testDuration);
72
73 /**
74 * Tests the decomposition function.
75 * @param testDuration Number of seconds for each test, with range (0, infinity)
76 * @return True, if succeeded
77 * @tparam T The floating point data type to be used for testing
78 */
79 template <typename T>
80 static bool testDecomposition(const double testDuration);
81
82 /**
83 * Tests the matrix conversion functions.
84 * @param testDuration Number of seconds for each test, with range (0, infinity)
85 * @return True, if succeeded
86 * @tparam T The floating point data type to be used for testing
87 */
88 template <typename T>
89 static bool testVectorConversion(const double testDuration);
90
91 /**
92 * Tests the copy elements functions.
93 * @param testDuration Number of seconds for each test, with range (0, infinity)
94 * @return True, if succeeded
95 * @tparam T The floating point data type to be used for testing
96 */
97 template <typename T>
98 static bool testCopyElements(const double testDuration);
99};
100
101}
102
103}
104
105}
106
107#endif // META_OCEAN_TEST_TESTMATH_TEST_HOMOGENOUS_MATRIX_4_H
This class implements a test for 4x4 homogeneous matrices.
Definition TestHomogenousMatrix4.h:29
static bool testVectorConversion(const double testDuration)
Tests the matrix conversion functions.
static bool testCopyElements(const double testDuration)
Tests the copy elements functions.
static bool testWriteToMessenger()
Tests the messenger function.
static bool test(const double testDuration, const TestSelector &selector)
Tests all homogeneous matrix 4x4 functions.
static bool testConstructor(const double testDuration)
Tests the matrix constructor.
static bool testElementConstructor(const double testDuration)
Tests the element-based constructor.
static bool testInvert(const double testDuration)
Tests the invert function.
static bool testDecomposition(const double testDuration)
Tests the decomposition function.
This class implements a test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
The namespace covering the entire Ocean framework.
Definition Accessor.h:15