SlewFilter_Test.cpp
Go to the documentation of this file.
00001 #include <gtest/gtest.h>
00002 #include "robodyn_utilities/SlewFilter.h"
00003 
00004 TEST(SlewFilterTest, FilterFloat)
00005 {
00006     SlewFilter s;
00007     s.setRates(1.0, 2.0);
00008 
00009     EXPECT_FLOAT_EQ(0.5, s.filter(0.0, 0.5));
00010 
00011     EXPECT_FLOAT_EQ(1.0, s.filter(0.0, 5.0));
00012     EXPECT_FLOAT_EQ(2.0, s.filter(1.0, 5.0));
00013     EXPECT_FLOAT_EQ(3.0, s.filter(2.0, 5.0));
00014     EXPECT_FLOAT_EQ(4.0, s.filter(3.0, 5.0));
00015     EXPECT_FLOAT_EQ(5.0, s.filter(4.0, 5.0));
00016     EXPECT_FLOAT_EQ(5.0, s.filter(5.0, 5.0));
00017 
00018     EXPECT_FLOAT_EQ(-1.5, s.filter(0.0, -1.5));
00019 
00020     EXPECT_FLOAT_EQ(3.0,  s.filter(5.0,  -5.0));
00021     EXPECT_FLOAT_EQ(1.0,  s.filter(3.0,  -5.0));
00022     EXPECT_FLOAT_EQ(-1.0, s.filter(1.0,  -5.0));
00023     EXPECT_FLOAT_EQ(-3.0, s.filter(-1.0, -5.0));
00024     EXPECT_FLOAT_EQ(-5.0, s.filter(-3.0, -5.0));
00025     EXPECT_FLOAT_EQ(-5.0, s.filter(-5.0, -5.0));
00026 }
00027 
00028 TEST(SlewFilterTest, FilterInteger)
00029 {
00030     SlewFilter s;
00031     s.setRates(1, 2);
00032 
00033     EXPECT_EQ(1, s.filter(0, 1));
00034 
00035     EXPECT_EQ(1, s.filter(0, 5));
00036     EXPECT_EQ(2, s.filter(1, 5));
00037     EXPECT_EQ(3, s.filter(2, 5));
00038     EXPECT_EQ(4, s.filter(3, 5));
00039     EXPECT_EQ(5, s.filter(4, 5));
00040     EXPECT_EQ(5, s.filter(5, 5));
00041 
00042     EXPECT_EQ(-1, s.filter(0, -1));
00043 
00044     EXPECT_EQ(3, s.filter(5, -5));
00045     EXPECT_EQ(1, s.filter(3, -5));
00046     EXPECT_EQ(-1, s.filter(1, -5));
00047     EXPECT_EQ(-3, s.filter(-1, -5));
00048     EXPECT_EQ(-5, s.filter(-3, -5));
00049     EXPECT_EQ(-5, s.filter(-5, -5));
00050 }
00051 
00052 int main(int argc, char** argv)
00053 {
00054     ::testing::InitGoogleTest(&argc, argv);
00055     return RUN_ALL_TESTS();
00056 }
00057 


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