30 #include <gtest/gtest.h>
36 TEST(MultiChannelMeanFilterDouble, ConfirmIdentityNRows)
43 EXPECT_TRUE(filter->
configure(rows,
"MultiChannelMeanFilterDouble5"));
45 double input1[] = {1,2,3,4,5};
46 double input1a[] = {1,2,3,4,5};
47 std::vector<double> v1 (input1, input1 +
sizeof(input1) /
sizeof(
double));
48 std::vector<double> v1a (input1a, input1a +
sizeof(input1a) /
sizeof(
double));
51 for (int32_t i =0; i < rows*10; i++)
53 EXPECT_TRUE(filter->
update(v1, v1a));
55 for (
int i = 1; i < length; i++)
57 EXPECT_NEAR(v1[i], v1a[i],
epsilon);
62 TEST(MultiChannelMeanFilterDouble, ThreeRows)
69 EXPECT_TRUE(filter->
configure(rows,
"MultiChannelMeanFilterDouble5"));
71 double input1[] = {0,1,2,3,4};
72 std::vector<double> v1 (input1, input1 +
sizeof(input1) /
sizeof(
double));
73 double input2[] = {1,2,3,4,5};
74 std::vector<double> v2 (input2, input2 +
sizeof(input2) /
sizeof(
double));
75 double input3[] = {2,3,4,5,6};
76 std::vector<double> v3 (input3, input3 +
sizeof(input3) /
sizeof(
double));
77 double input1a[] = {1,2,3,4,5};
78 std::vector<double> v1a (input1a, input1a +
sizeof(input1a) /
sizeof(
double));
81 EXPECT_TRUE(filter->
update(v1, v1a));
82 EXPECT_TRUE(filter->
update(v2, v1a));
83 EXPECT_TRUE(filter->
update(v3, v1a));
85 for (
int i = 1; i < length; i++)
87 EXPECT_NEAR(v2[i], v1a[i],
epsilon);
92 TEST(MeanFilterDouble, ConfirmIdentityNRows)
99 EXPECT_TRUE(filter->
configure(
"MeanFilterDouble5"));
105 for (int32_t i =0; i < rows*10; i++)
107 EXPECT_TRUE(filter->
update(input, output));
109 for (
int i = 1; i < length; i++)
111 EXPECT_NEAR(input, output,
epsilon);
116 TEST(MeanFilterDouble, ThreeRows)
121 EXPECT_TRUE(filter->
configure(
"MeanFilterDouble5"));
129 EXPECT_TRUE(filter->
update(input1, output));
130 EXPECT_NEAR(input1, output,
epsilon);
131 EXPECT_TRUE(filter->
update(input2, output));
132 EXPECT_NEAR((input1+ input2)/2.0, output,
epsilon);
133 EXPECT_TRUE(filter->
update(input3, output));
134 EXPECT_NEAR((input1 + input2 + input3)/3, output,
epsilon);
140 int main(
int argc,
char **argv){
141 testing::InitGoogleTest(&argc, argv);
143 return RUN_ALL_TESTS();