Skip to content

Commit

Permalink
✅ (MotionKit): Shut unexpected calls
Browse files Browse the repository at this point in the history
  • Loading branch information
HPezz committed Dec 9, 2022
1 parent d6e0201 commit 2e45165
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 46 deletions.
11 changes: 11 additions & 0 deletions libs/MotionKit/tests/MotionKit_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,15 @@ TEST_F(MotionKitTest, rotateAndStop)
motion.stop();
};

EXPECT_CALL(mock_function_imu, Call()).Times(1);
EXPECT_CALL(mock_function_motion, Call()).Times(1);

EXPECT_CALL(mock_motor_left, stop).Times(2);
EXPECT_CALL(mock_motor_right, stop).Times(2);

EXPECT_CALL(mock_motor_left, spin).Times(1);
EXPECT_CALL(mock_motor_right, spin).Times(1);

stub_event_loop_imu.registerCallback(loop_imu);
stub_event_loop_motion.registerCallback(loop_motion);
motion.rotate(1, Rotation::clockwise);
Expand All @@ -119,8 +126,12 @@ TEST_F(MotionKitTest, startStabilisationAndStop)
motion.stop();
};

EXPECT_CALL(mock_function_imu, Call()).Times(1);
EXPECT_CALL(mock_function_motion, Call()).Times(1);

EXPECT_CALL(mock_motor_left, stop).Times(2);
EXPECT_CALL(mock_motor_right, stop).Times(2);

stub_event_loop_imu.registerCallback(loop_imu);
stub_event_loop_motion.registerCallback(loop_motion);
motion.startStabilisation();
Expand Down
87 changes: 41 additions & 46 deletions libs/ReinforcerKit/tests/ReinforcerKit_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@

using namespace leka;

using ::testing::InSequence;
using ::testing::AnyNumber;
using ::testing::Sequence;

class ReinforcerkitTest : public ::testing::Test
{
Expand All @@ -40,6 +41,28 @@ class ReinforcerkitTest : public ::testing::Test
mock::CoreMotor mock_motor_right {};

ReinforcerKit reinforcerkit;

void expectedCallsMovingReinforcer()
{
EXPECT_CALL(mock_videokit, playVideoOnce);
EXPECT_CALL(mock_motor_left, stop).Times(1);
EXPECT_CALL(mock_motor_right, stop).Times(1);
EXPECT_CALL(mock_motor_left, spin).Times(1);
EXPECT_CALL(mock_motor_right, spin).Times(1);
EXPECT_CALL(mock_ears, setColor).Times(AnyNumber());
EXPECT_CALL(mock_ears, show).Times(AnyNumber());
EXPECT_CALL(mock_belt, setColor).Times(AnyNumber());
EXPECT_CALL(mock_belt, show).Times(AnyNumber());
}

void expectedCallsMotionlessReinforcer()
{
EXPECT_CALL(mock_videokit, playVideoOnce);
EXPECT_CALL(mock_ears, setColor).Times(AnyNumber());
EXPECT_CALL(mock_ears, show).Times(AnyNumber());
EXPECT_CALL(mock_belt, setColor).Times(AnyNumber());
EXPECT_CALL(mock_belt, show).Times(AnyNumber());
}
};

TEST_F(ReinforcerkitTest, initialization)
Expand All @@ -49,106 +72,78 @@ TEST_F(ReinforcerkitTest, initialization)

TEST_F(ReinforcerkitTest, playBlinkGreen)
{
auto expected_speed = 1;

EXPECT_CALL(mock_videokit, playVideoOnce);
{
InSequence seq;

EXPECT_CALL(mock_motor_left, spin(Rotation::clockwise, expected_speed));
EXPECT_CALL(mock_motor_right, spin(Rotation::clockwise, expected_speed));

EXPECT_CALL(mock_motor_left, stop());
EXPECT_CALL(mock_motor_right, stop());
}
expectedCallsMovingReinforcer();

reinforcerkit.play(ReinforcerKit::Reinforcer::BlinkGreen);
}

TEST_F(ReinforcerkitTest, playSpinBlink)
{
auto expected_speed = 1;

EXPECT_CALL(mock_videokit, playVideoOnce);

{
InSequence seq;

EXPECT_CALL(mock_motor_left, spin(Rotation::counterClockwise, expected_speed));
EXPECT_CALL(mock_motor_right, spin(Rotation::counterClockwise, expected_speed));

EXPECT_CALL(mock_motor_left, stop());
EXPECT_CALL(mock_motor_right, stop());
}
expectedCallsMovingReinforcer();

reinforcerkit.play(ReinforcerKit::Reinforcer::SpinBlink);
}

TEST_F(ReinforcerkitTest, playFire)
{
EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();
reinforcerkit.play(ReinforcerKit::Reinforcer::Fire);
}

TEST_F(ReinforcerkitTest, playSprinkles)
{
EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();
reinforcerkit.play(ReinforcerKit::Reinforcer::Sprinkles);
}

TEST_F(ReinforcerkitTest, playRainbow)
{
EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();
reinforcerkit.play(ReinforcerKit::Reinforcer::Rainbow);
}

TEST_F(ReinforcerkitTest, PlayDefaultReinforcer)
{
auto expected_speed = 1;

EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();

reinforcerkit.playDefault();
}

TEST_F(ReinforcerkitTest, SetSpinBlinkAndPlayDefaultReinforcer)
TEST_F(ReinforcerkitTest, SetBlinkGreenAndPlayDefaultReinforcer)
{
auto expected_speed = 1;
expectedCallsMovingReinforcer();

EXPECT_CALL(mock_videokit, playVideoOnce);
{
InSequence seq;

EXPECT_CALL(mock_motor_left, spin(Rotation::counterClockwise, expected_speed));
EXPECT_CALL(mock_motor_right, spin(Rotation::counterClockwise, expected_speed));
reinforcerkit.setDefaultReinforcer(ReinforcerKit::Reinforcer::BlinkGreen);
reinforcerkit.playDefault();
}

EXPECT_CALL(mock_motor_left, stop());
EXPECT_CALL(mock_motor_right, stop());
}
TEST_F(ReinforcerkitTest, SetSpinBlinkAndPlayDefaultReinforcer)
{
expectedCallsMovingReinforcer();

reinforcerkit.setDefaultReinforcer(ReinforcerKit::Reinforcer::SpinBlink);
reinforcerkit.playDefault();
}

TEST_F(ReinforcerkitTest, SetFireAndPlayDefaultReinforcer)
{
EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();

reinforcerkit.setDefaultReinforcer(ReinforcerKit::Reinforcer::Fire);
reinforcerkit.playDefault();
}

TEST_F(ReinforcerkitTest, SetSprinklesAndPlayDefaultReinforcer)
{
EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();

reinforcerkit.setDefaultReinforcer(ReinforcerKit::Reinforcer::Sprinkles);
reinforcerkit.playDefault();
}

TEST_F(ReinforcerkitTest, SetRainbowAndPlayDefaultReinforcer)
{
EXPECT_CALL(mock_videokit, playVideoOnce);
expectedCallsMotionlessReinforcer();

reinforcerkit.setDefaultReinforcer(ReinforcerKit::Reinforcer::Rainbow);
reinforcerkit.playDefault();
Expand Down

0 comments on commit 2e45165

Please sign in to comment.