77namespace median_filter_input_test {
88
99TEST (MedianFilter, loading_in_order) {
10- MedianFilter<uint32_t , 5 > *input = new MedianFilter<uint32_t , 5 >(analogRead);
11- std::vector<InputOutput<uint32_t >> data = {
10+ MedianFilter<uint32_t , uint32_t , 5 > *input = new MedianFilter<uint32_t , uint32_t , 5 >(analogRead);
11+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
1212 {100 , 1 , 100 },
1313 {200 , 1 , 100 },
1414 {300 , 1 , 200 },
1515 {400 , 1 , 200 },
1616 {500 , 1 , 300 },
1717 };
18- RunDataTest (input, data);
18+ RunDataTest (input, data, setAnalogRead );
1919}
2020
2121TEST (MedianFilter, loading_reverse_order) {
22- MedianFilter<uint32_t , 5 > *input = new MedianFilter<uint32_t , 5 >(analogRead);
23- std::vector<InputOutput<uint32_t >> data = {
22+ MedianFilter<uint32_t , uint32_t , 5 > *input = new MedianFilter<uint32_t , uint32_t , 5 >(analogRead);
23+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
2424 {500 , 1 , 500 },
2525 {400 , 1 , 400 },
2626 {300 , 1 , 400 },
2727 {200 , 1 , 300 },
2828 {100 , 1 , 300 },
2929 };
30- RunDataTest (input, data);
30+ RunDataTest (input, data, setAnalogRead );
3131}
3232
3333TEST (MedianFilter, loading_random_order) {
34- MedianFilter<uint32_t , 5 > *input = new MedianFilter<uint32_t , 5 >(analogRead);
35- std::vector<InputOutput<uint32_t >> data = {
34+ MedianFilter<uint32_t , uint32_t , 5 > *input = new MedianFilter<uint32_t , uint32_t , 5 >(analogRead);
35+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
3636 {500 , 1 , 500 },
3737 {100 , 1 , 100 },
3838 {400 , 1 , 400 },
3939 {300 , 1 , 300 },
4040 {200 , 1 , 300 },
4141 };
42- RunDataTest (input, data);
42+ RunDataTest (input, data, setAnalogRead );
4343}
4444
4545TEST (MedianFilter, steady_state_step_function) {
46- MedianFilter<uint32_t , 5 > *input = new MedianFilter<uint32_t , 5 >(analogRead);
47- std::vector<InputOutput<uint32_t >> data = {
46+ MedianFilter<uint32_t , uint32_t , 5 > *input = new MedianFilter<uint32_t , uint32_t , 5 >(analogRead);
47+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
4848 {100 , 5 , 100 },
4949 {200 , 2 , 100 },
5050 {200 , 10 , 200 },
5151 };
52- RunDataTest (input, data);
52+ RunDataTest (input, data, setAnalogRead );
5353}
5454
5555TEST (MedianFilter, steady_state_impulse) {
56- MedianFilter<uint32_t , 5 > *input = new MedianFilter<uint32_t , 5 >(analogRead);
57- std::vector<InputOutput<uint32_t >> data = {
56+ MedianFilter<uint32_t , uint32_t , 5 > *input = new MedianFilter<uint32_t , uint32_t , 5 >(analogRead);
57+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
5858 {100 , 10 , 100 },
5959 {200 , 2 , 100 },
6060 {100 , 10 , 100 },
@@ -63,43 +63,55 @@ TEST(MedianFilter, steady_state_impulse) {
6363 {100 , 2 , 200 },
6464 {100 , 10 , 100 },
6565 };
66- RunDataTest (input, data);
66+ RunDataTest (input, data, setAnalogRead );
6767}
6868
6969// Not a reasonable size, but behavior should be consistent
7070TEST (MedianFilter, size_2) {
71- MedianFilter<uint32_t , 2 > *input = new MedianFilter<uint32_t , 2 >(analogRead);
72- std::vector<InputOutput<uint32_t >> data = {
71+ MedianFilter<uint32_t , uint32_t , 2 > *input = new MedianFilter<uint32_t , uint32_t , 2 >(analogRead);
72+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
7373 {100 , 1 , 100 },
7474 {200 , 1 , 100 },
7575 {200 , 2 , 200 },
7676 {100 , 5 , 100 },
7777 };
78- RunDataTest (input, data);
78+ RunDataTest (input, data, setAnalogRead );
7979}
8080
8181TEST (MedianFilter, size_3) {
82- MedianFilter<uint32_t , 3 > *input = new MedianFilter<uint32_t , 3 >(analogRead);
83- std::vector<InputOutput<uint32_t >> data = {
82+ MedianFilter<uint32_t , uint32_t , 3 > *input = new MedianFilter<uint32_t , uint32_t , 3 >(analogRead);
83+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
8484 {100 , 2 , 100 },
8585 {200 , 1 , 100 },
8686 {200 , 2 , 200 },
8787 {100 , 1 , 200 },
8888 {100 , 5 , 100 },
8989 };
90- RunDataTest (input, data);
90+ RunDataTest (input, data, setAnalogRead );
9191}
9292
9393TEST (MedianFilter, size_255) {
94- MedianFilter<uint32_t , 255 > *input = new MedianFilter<uint32_t , 255 >(analogRead);
95- std::vector<InputOutput<uint32_t >> data = {
94+ MedianFilter<uint32_t , uint32_t , 255 > *input = new MedianFilter<uint32_t , uint32_t , 255 >(analogRead);
95+ std::vector<InputOutput<uint32_t , uint32_t >> data = {
9696 {100 , 255 , 100 },
9797 {200 , 127 , 100 },
9898 {200 , 1 , 200 },
9999 {100 , 127 , 200 },
100100 {100 , 1 , 100 },
101101 };
102- RunDataTest (input, data);
102+ RunDataTest (input, data, setAnalogRead);
103+ }
104+
105+ TEST (MedianFilter, float ) {
106+ MedianFilter<float , float , 255 > *input = new MedianFilter<float , float , 255 >(floatRead);
107+ std::vector<InputOutput<float , float >> data = {
108+ {1.0 , 255 , 1.0 },
109+ {2.0 , 127 , 1.0 },
110+ {2.0 , 1 , 2.0 },
111+ {1.0 , 127 , 2.0 },
112+ {1.0 , 1 , 1.0 },
113+ };
114+ RunDataTest (input, data, setFloatRead);
103115}
104116
105117}
0 commit comments