#include <random>
#include "gtest/gtest.h"
#include "misc_language.h"
#include "rolling_median.h"
#include "crypto/crypto.h"
Go to the source code of this file.
|
| | TEST (rolling_median, one) |
| | TEST (rolling_median, two) |
| | TEST (rolling_median, series) |
| | TEST (rolling_median, clear_whole) |
| | TEST (rolling_median, clear_partway) |
| | TEST (rolling_median, order) |
| | TEST (rolling_median, history_blind) |
| | TEST (rolling_median, size) |
◆ TEST() [1/8]
| TEST |
( |
rolling_median | , |
|
|
clear_partway | ) |
Definition at line 102 of file rolling_median.cpp.
103{
108 for (int i = 0; i < 10000; ++i)
109 {
112 median.push_back(m.median());
113 }
114 m.clear();
115 for (int i = 10000 - 100; i < 10000; ++i)
116 {
118 }
120}
#define ASSERT_EQ(val1, val2)
void rand(size_t N, uint8_t *bytes)
type_vec_type median(std::vector< type_vec_type > &v)
uint64_t random(const uint64_t max_value)
◆ TEST() [2/8]
| TEST |
( |
rolling_median | , |
|
|
clear_whole | ) |
Definition at line 82 of file rolling_median.cpp.
83{
88 for (int i = 0; i < 10000; ++i)
89 {
92 median.push_back(m.median());
93 }
94 m.clear();
95 for (int i = 0; i < 10000; ++i)
96 {
99 }
100}
◆ TEST() [3/8]
| TEST |
( |
rolling_median | , |
|
|
history_blind | ) |
Definition at line 153 of file rolling_median.cpp.
154{
156
158 for (int i = 0; i < 1000; ++i)
159 {
160 m.clear();
161 int history_length = 743723 % (i+1);
162 while (history_length--)
163 m.insert(743284 % (i+1));
164 for (int j = 0; j < 10; ++j)
165 m.insert(8924829384 % (j+1));
166 if (i == 0)
168 else
170 }
171}
unsigned __int64 uint64_t
◆ TEST() [4/8]
| TEST |
( |
rolling_median | , |
|
|
one | ) |
Definition at line 35 of file rolling_median.cpp.
36{
38 m.insert(42);
40 m.insert(18);
42 m.insert(7483);
44}
◆ TEST() [5/8]
| TEST |
( |
rolling_median | , |
|
|
order | ) |
Definition at line 122 of file rolling_median.cpp.
123{
125 std::vector<uint64_t>
random;
127 for (int i = 0; i < 1000; ++i)
128 {
131 }
133
135 m.clear();
136 for (int i = 0; i < 1000; ++i)
139
141 m.clear();
142 for (int i = 0; i < 1000; ++i)
145
147 m.clear();
148 for (int i = 0; i < 1000; ++i)
151}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
◆ TEST() [6/8]
| TEST |
( |
rolling_median | , |
|
|
series | ) |
Definition at line 65 of file rolling_median.cpp.
66{
68 std::vector<uint64_t> v;
69 v.reserve(100);
70 for (int i = 0; i < 10000; ++i)
71 {
73 v.push_back(r);
74 if (v.size() > 100)
75 v.erase(v.begin());
76 m.insert(r);
77 std::vector<uint64_t> vcopy = v;
79 }
80}
◆ TEST() [7/8]
| TEST |
( |
rolling_median | , |
|
|
size | ) |
Definition at line 173 of file rolling_median.cpp.
174{
176
178 m.insert(1);
180 m.insert(2);
182 m.clear();
184 for (int i = 0; i < 10; ++i)
185 {
186 m.insert(80 % (i + 1));
188 }
189 m.insert(1);
191 m.insert(2);
193 m.clear();
195 m.insert(4);
197 for (int i = 0; i < 1000; ++i)
198 {
199 m.insert(80 % (i + 1));
200 ASSERT_EQ(m.size(), std::min<int>(10, i + 2));
201 }
202}
◆ TEST() [8/8]
| TEST |
( |
rolling_median | , |
|
|
two | ) |
Definition at line 46 of file rolling_median.cpp.
47{
49 m.insert(42);
51 m.insert(45);
53 m.insert(49);
55 m.insert(41);
57 m.insert(43);
59 m.insert(40);
61 m.insert(41);
63}