Skip to content

Commit 953e041

Browse files
committed
Fix Noisy tests
1 parent 1a8dc5c commit 953e041

File tree

5 files changed

+236
-115
lines changed

5 files changed

+236
-115
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ add_executable(unittesting include/traits.h
7575
tests/filters_generic_move_only_stream.cpp
7676
tests/noisy.h
7777
tests/filters_noisy_finite_stream.cpp
78-
tests/filters_generic_noisy_stream.cpp)
78+
tests/filters_generic_noisy_stream.cpp tests/noisy.cpp)
7979
target_link_libraries(unittesting gtest gmock_main Threads::Threads)
8080

8181
add_test(NAME do_unittests COMMAND unittesting)

tests/filters_generic_noisy_stream.cpp

Lines changed: 21 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ using namespace stream::filters;
1616

1717
TEST(FILTERS_GENERIC_NOISY_STREAM, REF_CONTAINER)
1818
{
19+
Noisy::copyCount = 0;
20+
1921
std::list<Noisy> list;
2022

2123
for (int i = 1; i < 11; ++i)
@@ -30,29 +32,21 @@ TEST(FILTERS_GENERIC_NOISY_STREAM, REF_CONTAINER)
3032
| filter([](auto &&v) { return v.value > 25; })
3133
| to_vector();
3234

35+
ASSERT_EQ(Noisy::copyCount, 0);
3336
ASSERT_EQ(result.size(), 6U);
3437

35-
ASSERT_EQ(result[0].copyCount, 1);
3638
ASSERT_EQ(result[0].value, 26);
37-
38-
ASSERT_EQ(result[1].copyCount, 1);
3939
ASSERT_EQ(result[1].value, 37);
40-
41-
ASSERT_EQ(result[2].copyCount, 1);
4240
ASSERT_EQ(result[2].value, 50);
43-
44-
ASSERT_EQ(result[3].copyCount, 1);
4541
ASSERT_EQ(result[3].value, 65);
46-
47-
ASSERT_EQ(result[4].copyCount, 1);
4842
ASSERT_EQ(result[4].value, 82);
49-
50-
ASSERT_EQ(result[5].copyCount, 1);
5143
ASSERT_EQ(result[5].value, 101);
5244
}
5345

5446
TEST(FILTERS_GENERIC_NOISY_STREAM, CONTAINER)
5547
{
48+
Noisy::copyCount = 0;
49+
5650
std::list<Noisy> list;
5751

5852
for (int i = 1; i < 11; ++i)
@@ -67,24 +61,14 @@ TEST(FILTERS_GENERIC_NOISY_STREAM, CONTAINER)
6761
| filter([](auto &&v) { return v.value > 25; })
6862
| to_vector();
6963

70-
ASSERT_EQ(result.size(), 6U);
64+
ASSERT_EQ(Noisy::copyCount, 0);
7165

72-
ASSERT_EQ(result[0].copyCount, 0);
66+
ASSERT_EQ(result.size(), 6U);
7367
ASSERT_EQ(result[0].value, 26);
74-
75-
ASSERT_EQ(result[1].copyCount, 0);
7668
ASSERT_EQ(result[1].value, 37);
77-
78-
ASSERT_EQ(result[2].copyCount, 0);
7969
ASSERT_EQ(result[2].value, 50);
80-
81-
ASSERT_EQ(result[3].copyCount, 0);
8270
ASSERT_EQ(result[3].value, 65);
83-
84-
ASSERT_EQ(result[4].copyCount, 0);
8571
ASSERT_EQ(result[4].value, 82);
86-
87-
ASSERT_EQ(result[5].copyCount, 0);
8872
ASSERT_EQ(result[5].value, 101);
8973

9074
auto s = Stream(std::move(list))
@@ -94,7 +78,7 @@ TEST(FILTERS_GENERIC_NOISY_STREAM, CONTAINER)
9478
| filter([](auto &&v) { return v.value > 25; })
9579
| sum();
9680

97-
ASSERT_EQ(s.copyCount, 0);
81+
ASSERT_EQ(Noisy::copyCount, 0);
9882
ASSERT_EQ(s.value, 0);
9983

10084
result = Stream(std::move(list))
@@ -103,27 +87,33 @@ TEST(FILTERS_GENERIC_NOISY_STREAM, CONTAINER)
10387
| map([](auto &&v){ ++v.value; return std::move(v); })
10488
| filter([](auto &&v) { return v.value > 25; })
10589
| to_vector();
90+
91+
ASSERT_EQ(Noisy::copyCount, 0);
10692
ASSERT_TRUE(result.empty());
10793
}
10894

10995
TEST(FILTERS_GENERIC_NOISY_STREAM, GENERATOR)
11096
{
97+
Noisy::copyCount = 0;
98+
11199
auto result = Stream([i = int{}]() mutable { return Noisy(++i); })
112100
| skip(20)
113101
| filter([](auto &&v){ return (v.value % 2 != 0); })
114102
| get(20)
115103
| to_vector();
116104

105+
ASSERT_EQ(Noisy::copyCount, 0);
117106
ASSERT_EQ(result.size(), 20U);
118107
for (int i = 0; i < 20; ++i)
119108
{
120-
ASSERT_THAT(result[i].copyCount, 0);
121109
ASSERT_THAT(result[i].value, 2 * i + 21);
122110
}
123111
}
124112

125113
TEST(FILTERS_GENERIC_NOISY_STREAM, RANGE)
126114
{
115+
Noisy::copyCount = 0;
116+
127117
std::list<Noisy> list;
128118

129119
for (int i = 1; i < 11; ++i)
@@ -138,29 +128,21 @@ TEST(FILTERS_GENERIC_NOISY_STREAM, RANGE)
138128
| filter([](auto &&v) { return v.value > 25; })
139129
| to_vector();
140130

141-
ASSERT_EQ(result.size(), 6U);
131+
ASSERT_EQ(Noisy::copyCount, 0);
142132

143-
ASSERT_EQ(result[0].copyCount, 1);
133+
ASSERT_EQ(result.size(), 6U);
144134
ASSERT_EQ(result[0].value, 26);
145-
146-
ASSERT_EQ(result[1].copyCount, 1);
147135
ASSERT_EQ(result[1].value, 37);
148-
149-
ASSERT_EQ(result[2].copyCount, 1);
150136
ASSERT_EQ(result[2].value, 50);
151-
152-
ASSERT_EQ(result[3].copyCount, 1);
153137
ASSERT_EQ(result[3].value, 65);
154-
155-
ASSERT_EQ(result[4].copyCount, 1);
156138
ASSERT_EQ(result[4].value, 82);
157-
158-
ASSERT_EQ(result[5].copyCount, 1);
159139
ASSERT_EQ(result[5].value, 101);
160140
}
161141

162142
TEST(FILTERS_GENERIC_NOISY_STREAM, STREAM_FROM_STREAM)
163143
{
144+
Noisy::copyCount = 0;
145+
164146
std::ostringstream out;
165147

166148
Stream a = Stream([i = int{}]() mutable { return Noisy(++i); })
@@ -179,35 +161,17 @@ TEST(FILTERS_GENERIC_NOISY_STREAM, STREAM_FROM_STREAM)
179161

180162
auto result = c | to_vector();
181163

182-
ASSERT_EQ(result.size(), 10U);
164+
ASSERT_EQ(Noisy::copyCount, 0);
183165

184-
ASSERT_EQ(result[0].copyCount, 0);
166+
ASSERT_EQ(result.size(), 10U);
185167
ASSERT_EQ(result[0].value, 15);
186-
187-
ASSERT_EQ(result[1].copyCount, 0);
188168
ASSERT_EQ(result[1].value, 65);
189-
190-
ASSERT_EQ(result[2].copyCount, 0);
191169
ASSERT_EQ(result[2].value, 90);
192-
193-
ASSERT_EQ(result[3].copyCount, 0);
194170
ASSERT_EQ(result[3].value, 115);
195-
196-
ASSERT_EQ(result[4].copyCount, 0);
197171
ASSERT_EQ(result[4].value, 165);
198-
199-
ASSERT_EQ(result[5].copyCount, 0);
200172
ASSERT_EQ(result[5].value, 190);
201-
202-
ASSERT_EQ(result[6].copyCount, 0);
203173
ASSERT_EQ(result[6].value, 215);
204-
205-
ASSERT_EQ(result[7].copyCount, 0);
206174
ASSERT_EQ(result[7].value, 265);
207-
208-
ASSERT_EQ(result[8].copyCount, 0);
209175
ASSERT_EQ(result[8].value, 290);
210-
211-
ASSERT_EQ(result[9].copyCount, 0);
212176
ASSERT_EQ(result[9].value, 315);
213177
}

0 commit comments

Comments
 (0)