added new sanity-check assertions
fixed issue with angles [bad interface] - adjusted other parts accordingly - added corresponding test-cases started working on absolute heading
This commit is contained in:
@@ -14,17 +14,38 @@ TEST(Angle, dir) {
|
||||
|
||||
}
|
||||
|
||||
TEST(Angle, safe) {
|
||||
|
||||
ASSERT_EQ(0, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(0)))));
|
||||
ASSERT_EQ(0, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(360)))));
|
||||
ASSERT_EQ(85, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(85)))));
|
||||
ASSERT_EQ(155, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(155)))));
|
||||
ASSERT_EQ(275, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(275)))));
|
||||
ASSERT_EQ(355, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(355)))));
|
||||
|
||||
// negative
|
||||
ASSERT_EQ(330, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(-30)))));
|
||||
ASSERT_EQ(270, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(-90)))));
|
||||
ASSERT_EQ(185, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(-175)))));
|
||||
|
||||
// too positive
|
||||
ASSERT_EQ(30, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(390)))));
|
||||
ASSERT_EQ(140, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(500)))));
|
||||
ASSERT_EQ(180, (int)std::round(Angle::radToDeg(Angle::makeSafe_2PI(Angle::degToRad(900)))));
|
||||
|
||||
}
|
||||
|
||||
TEST(Angle, calc) {
|
||||
|
||||
ASSERT_EQ(0, Angle::getDEG_360(0,0, +1,0)); // to the right
|
||||
ASSERT_EQ(90, Angle::getDEG_360(0,0, 0,+1)); // upwards
|
||||
ASSERT_EQ(180, Angle::getDEG_360(0,0, -1,0)); // to the left
|
||||
ASSERT_EQ(270, Angle::getDEG_360(0,0, 0,-1)); // downwards
|
||||
ASSERT_EQ(0, (int)Angle::getDEG_360(0,0, +1,0)); // to the right
|
||||
ASSERT_EQ(90, (int)Angle::getDEG_360(0,0, 0,+1)); // upwards
|
||||
ASSERT_EQ(180, (int)Angle::getDEG_360(0,0, -1,0)); // to the left
|
||||
ASSERT_EQ(270, (int)Angle::getDEG_360(0,0, 0,-1)); // downwards
|
||||
|
||||
ASSERT_EQ(45, Angle::getDEG_360(0,0, +1,+1)); // to the upper right
|
||||
ASSERT_EQ(135, Angle::getDEG_360(0,0, -1,+1)); // to the upper left
|
||||
ASSERT_EQ(225, Angle::getDEG_360(0,0, -1,-1)); // to the lower left
|
||||
ASSERT_EQ(315, Angle::getDEG_360(0,0, +1,-1)); // to the lower right
|
||||
ASSERT_EQ(45, (int)Angle::getDEG_360(0,0, +1,+1)); // to the upper right
|
||||
ASSERT_EQ(135, (int)Angle::getDEG_360(0,0, -1,+1)); // to the upper left
|
||||
ASSERT_EQ(225, (int)Angle::getDEG_360(0,0, -1,-1)); // to the lower left
|
||||
ASSERT_EQ(315, (int)Angle::getDEG_360(0,0, +1,-1)); // to the lower right
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user