forked from Archive/PX4-Autopilot
PreFlightChecker: update unit tests
This commit is contained in:
parent
8080615191
commit
dab17d628d
|
@ -46,48 +46,52 @@ class PreFlightCheckerTest : public ::testing::Test
|
|||
|
||||
TEST_F(PreFlightCheckerTest, testInnovFailed)
|
||||
{
|
||||
const float test_limit = 1.0; ///< is the limit for innovation_lpf, the limit for innovation is 2*test_limit
|
||||
const float test_limit = 1.0; ///< is the limit for innovation_lpf
|
||||
const float spike_limit = 2.f * test_limit; ///< is the limit for innovation_lpf
|
||||
const float innovations[9] = {0.0, 1.5, 2.5, -1.5, -2.5, 1.5, -1.5, -2.5, -2.5};
|
||||
const float innovations_lpf[9] = {0.0, 0.9, 0.9, -0.9, -0.9, 1.1, -1.1, -1.1, 1.1};
|
||||
const bool expected_result[9] = {false, false, true, false, true, true, true, true, true};
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
EXPECT_EQ(PreFlightChecker::checkInnovFailed(innovations[i], innovations_lpf[i], test_limit), expected_result[i]);
|
||||
EXPECT_EQ(PreFlightChecker::checkInnovFailed(innovations_lpf[i], innovations[i], test_limit, spike_limit),
|
||||
expected_result[i]);
|
||||
}
|
||||
|
||||
// Smaller test limit, all the checks should fail except the first
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnovFailed(innovations[0], innovations_lpf[0], 0.0));
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnovFailed(innovations_lpf[0], innovations[0], 0.0, 0.0));
|
||||
|
||||
for (int i = 1; i < 9; i++) {
|
||||
EXPECT_TRUE(PreFlightChecker::checkInnovFailed(innovations[i], innovations_lpf[i], 0.0));
|
||||
EXPECT_TRUE(PreFlightChecker::checkInnovFailed(innovations_lpf[i], innovations[i], 0.0, 0.0));
|
||||
}
|
||||
|
||||
// Larger test limit, none of the checks should fail
|
||||
for (int i = 0; i < 9; i++) {
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnovFailed(innovations[i], innovations_lpf[i], 2.0));
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnovFailed(innovations_lpf[i], innovations[i], 2.0, 4.0));
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(PreFlightCheckerTest, testInnov2dFailed)
|
||||
{
|
||||
const float test_limit = 1.0;
|
||||
const float spike_limit = 2.0;
|
||||
Vector2f innovations[4] = {{0.0, 0.0}, {0.0, 0.0}, {0.0, -2.5}, {1.5, -1.5}};
|
||||
Vector2f innovations_lpf[4] = {{0.0, 0.0}, {1.1, 0.0}, {0.5, 0.5}, {1.0, -1.0}};
|
||||
const bool expected_result[4] = {false, true, true, true};
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
EXPECT_EQ(PreFlightChecker::checkInnov2DFailed(innovations[i], innovations_lpf[i], test_limit), expected_result[i]);
|
||||
EXPECT_EQ(PreFlightChecker::checkInnov2DFailed(innovations_lpf[i], innovations[i], test_limit, spike_limit),
|
||||
expected_result[i]);
|
||||
}
|
||||
|
||||
// Smaller test limit, all the checks should fail except the first
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnov2DFailed(innovations[0], innovations_lpf[0], 0.0));
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnov2DFailed(innovations[0], innovations_lpf[0], 0.0, 0.0));
|
||||
|
||||
for (int i = 1; i < 4; i++) {
|
||||
EXPECT_TRUE(PreFlightChecker::checkInnov2DFailed(innovations[i], innovations_lpf[i], 0.0));
|
||||
EXPECT_TRUE(PreFlightChecker::checkInnov2DFailed(innovations_lpf[i], innovations[i], 0.0, 0.0));
|
||||
}
|
||||
|
||||
// Larger test limit, none of the checks should fail
|
||||
for (int i = 0; i < 4; i++) {
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnov2DFailed(innovations[i], innovations_lpf[i], 1.42));
|
||||
EXPECT_FALSE(PreFlightChecker::checkInnov2DFailed(innovations_lpf[i], innovations[i], 1.42, 2.84));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue