MedianFilter_Test.cpp
Go to the documentation of this file.
00001 #include <iostream>
00002 #include <gtest/gtest.h>
00003 #include "robodyn_utilities/MedianFilter.h"
00004 #include <ros/package.h>
00005 #include <stdexcept>
00006 #include <math.h>
00007 #include <fstream>
00008 
00009 class MedianFilterTest : public ::testing::Test
00010 {
00011 protected:
00012     virtual void SetUp()
00013     {
00014     }
00015 
00016     virtual void TearDown()
00017     {
00018     }
00019 };
00020 
00021 
00022 TEST_F(MedianFilterTest, Zero)
00023 {
00024     MedianFilter filter;
00025     filter.setSize(0);
00026 
00028     for (int i = 0; i < 10; ++i)
00029     {
00030         double input = (double)rand() / 100;
00031         EXPECT_FLOAT_EQ(input, filter.getMedian(input));
00032     }
00033 }
00034 
00035 TEST_F(MedianFilterTest, One)
00036 {
00037     MedianFilter filter;
00038     filter.setSize(1);
00039 
00041     for (int i = 0; i < 10; ++i)
00042     {
00043         double input = (double)rand() / 100;
00044         EXPECT_FLOAT_EQ(input, filter.getMedian(input));
00045     }
00046 }
00047 
00048 TEST_F(MedianFilterTest, Three)
00049 {
00050     MedianFilter filter;
00051     filter.setSize(3);
00053     EXPECT_FLOAT_EQ(1,   filter.getMedian(1));
00054     EXPECT_FLOAT_EQ(1.5, filter.getMedian(2));
00055     EXPECT_FLOAT_EQ(2,   filter.getMedian(3));
00056     EXPECT_FLOAT_EQ(3,   filter.getMedian(4));
00057     EXPECT_FLOAT_EQ(4,   filter.getMedian(4));
00058     EXPECT_FLOAT_EQ(4,   filter.getMedian(4));
00059     EXPECT_FLOAT_EQ(4,   filter.getMedian(3));
00060     EXPECT_FLOAT_EQ(3,   filter.getMedian(2));
00061     EXPECT_FLOAT_EQ(2,   filter.getMedian(1));
00062 }
00063 
00064 TEST_F(MedianFilterTest, Resize)
00065 {
00066     MedianFilter filter;
00067     filter.setSize(3);
00069     EXPECT_FLOAT_EQ(1,   filter.getMedian(1));
00070     EXPECT_FLOAT_EQ(1.5, filter.getMedian(2));
00071     EXPECT_FLOAT_EQ(2,   filter.getMedian(3));
00072     EXPECT_FLOAT_EQ(3,   filter.getMedian(4));
00073     EXPECT_FLOAT_EQ(4,   filter.getMedian(4));
00074     filter.setSize(0);
00075     EXPECT_FLOAT_EQ(4,   filter.getMedian(4));
00076     EXPECT_FLOAT_EQ(3,   filter.getMedian(3));
00077     EXPECT_FLOAT_EQ(2,   filter.getMedian(2));
00078     EXPECT_FLOAT_EQ(1,   filter.getMedian(1));
00079     filter.setSize(4);
00080     EXPECT_FLOAT_EQ(1,   filter.getMedian(1));
00081     EXPECT_FLOAT_EQ(1,   filter.getMedian(2));
00082     EXPECT_FLOAT_EQ(1.5, filter.getMedian(3));
00083     EXPECT_FLOAT_EQ(2.5, filter.getMedian(4));
00084     EXPECT_FLOAT_EQ(3.5, filter.getMedian(4));
00085 }
00086 
00087 
00088 int main(int argc, char** argv)
00089 {
00090     testing::InitGoogleTest(&argc, argv);
00091     return RUN_ALL_TESTS();
00092 }


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