@@ -16,6 +16,8 @@ using namespace stream::filters;
1616
1717TEST (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
5446TEST (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
10995TEST (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
125113TEST (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
162142TEST (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