RateLimiter_Test.cpp
Go to the documentation of this file.
00001 #include <gtest/gtest.h>
00002 #include "robodyn_utilities/RateLimiter.h"
00003 
00004 class RateLimiterTest : public ::testing::Test
00005 {
00006 protected:
00007     virtual void SetUp()
00008     {
00009     }
00010 
00011     virtual void TearDown()
00012     {
00013     }
00014 };
00015 
00016 TEST_F(RateLimiterTest, findLimitsTest)
00017 {
00018     double lim, curr, prev;
00019     lim  = 0.1;
00020     curr = 10.8;
00021     prev = 9.6;
00022     RateLimiter rl1;
00023     rl1.setRateLimit(lim);
00024     EXPECT_EQ(9.7, rl1.getLimitedValue(curr, prev));
00025     EXPECT_EQ(0, rl1.getCompletionCondition());
00026 
00027     curr = 4.03;
00028     prev = 4.05;
00029     EXPECT_EQ(curr, rl1.getLimitedValue(curr, prev));
00030     EXPECT_EQ(1, rl1.getCompletionCondition());
00031 
00032     prev = 4.53;
00033     EXPECT_EQ(prev - lim, rl1.getLimitedValue(curr, prev));
00034     EXPECT_EQ(0, rl1.getCompletionCondition());
00035 
00036     curr = 4.53;
00037     EXPECT_EQ(curr, rl1.getLimitedValue(curr, prev));
00038     EXPECT_EQ(1, rl1.getCompletionCondition());
00039 
00040     EXPECT_EQ(curr, rl1.getLimitedValue(curr, prev));
00041     EXPECT_EQ(1, rl1.getCompletionCondition());
00042 
00043     lim         = 2.0;
00044     int currInt = 4;
00045     int prevInt = 7;
00046     RateLimiter rl2;
00047     rl2.setRateLimit(lim);
00048     EXPECT_EQ(5, rl2.getLimitedValue(currInt, prevInt));
00049     EXPECT_EQ(0, rl2.getCompletionCondition());
00050     rl2.setRateLimit(0.5);
00051     EXPECT_EQ(6, rl2.getLimitedValue(currInt, prevInt));
00052 
00053 }
00054 
00055 int main(int argc, char** argv)
00056 {
00057     ::testing::InitGoogleTest(&argc, argv);
00058     return RUN_ALL_TESTS();
00059 }
00060 


robodyn_utilities
Author(s):
autogenerated on Thu Jun 6 2019 18:56:07