Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Side by Side Diff: net/quic/core/interval_test.cc

Issue 2339223003: Remove QUIC's Interval::difference. (Closed)
Patch Set: delete instead Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/core/interval.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // ---------------------------------------------------------------------- 5 // ----------------------------------------------------------------------
6 // 6 //
7 // Unittest for the Interval class. 7 // Unittest for the Interval class.
8 // 8 //
9 // Author: Will Neveitt (wneveitt@google.com) 9 // Author: Will Neveitt (wneveitt@google.com)
10 // ---------------------------------------------------------------------- 10 // ----------------------------------------------------------------------
11 11
12 #include "net/quic/core/interval.h" 12 #include "net/quic/core/interval.h"
13 13
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/stl_util.h"
16 #include "net/test/gtest_util.h" 15 #include "net/test/gtest_util.h"
17 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
18 17
19 using std::pair; 18 using std::pair;
20 using std::string; 19 using std::string;
21 using std::vector; 20 using std::vector;
22 21
23 namespace net { 22 namespace net {
24 namespace test { 23 namespace test {
25 namespace { 24 namespace {
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 EXPECT_TRUE(d.Contains(d7) && !d7.Contains(d)); 197 EXPECT_TRUE(d.Contains(d7) && !d7.Contains(d));
199 EXPECT_TRUE(!d.Contains(d8) && d8.Contains(d)); 198 EXPECT_TRUE(!d.Contains(d8) && d8.Contains(d));
200 199
201 EXPECT_TRUE(d.Contains(100)); 200 EXPECT_TRUE(d.Contains(100));
202 EXPECT_TRUE(!d.Contains(200)); 201 EXPECT_TRUE(!d.Contains(200));
203 EXPECT_TRUE(d.Contains(150)); 202 EXPECT_TRUE(d.Contains(150));
204 EXPECT_TRUE(!d.Contains(99)); 203 EXPECT_TRUE(!d.Contains(99));
205 EXPECT_TRUE(!d.Contains(201)); 204 EXPECT_TRUE(!d.Contains(201));
206 205
207 // Difference: 206 // Difference:
208 vector<Interval<int64_t>*> diff;
209
210 EXPECT_TRUE(!d.Difference(empty, &diff));
211 EXPECT_EQ(1u, diff.size());
212 EXPECT_EQ(100u, diff[0]->min());
213 EXPECT_EQ(200u, diff[0]->max());
214 base::STLDeleteElements(&diff);
215 EXPECT_TRUE(!empty.Difference(d, &diff) && diff.empty());
216
217 EXPECT_TRUE(d.Difference(d, &diff) && diff.empty());
218 EXPECT_TRUE(!d.Difference(d1, &diff));
219 EXPECT_EQ(1u, diff.size());
220 EXPECT_EQ(100u, diff[0]->min());
221 EXPECT_EQ(200u, diff[0]->max());
222 base::STLDeleteElements(&diff);
223
224 Interval<int64_t> lo; 207 Interval<int64_t> lo;
225 Interval<int64_t> hi; 208 Interval<int64_t> hi;
226 209
227 EXPECT_TRUE(d.Difference(d2, &lo, &hi)); 210 EXPECT_TRUE(d.Difference(d2, &lo, &hi));
228 EXPECT_TRUE(lo.Empty()); 211 EXPECT_TRUE(lo.Empty());
229 EXPECT_EQ(110u, hi.min()); 212 EXPECT_EQ(110u, hi.min());
230 EXPECT_EQ(200u, hi.max()); 213 EXPECT_EQ(200u, hi.max());
231 EXPECT_TRUE(d.Difference(d2, &diff));
232 EXPECT_EQ(1u, diff.size());
233 EXPECT_EQ(110u, diff[0]->min());
234 EXPECT_EQ(200u, diff[0]->max());
235 base::STLDeleteElements(&diff);
236 214
237 EXPECT_TRUE(d.Difference(d3, &lo, &hi)); 215 EXPECT_TRUE(d.Difference(d3, &lo, &hi));
238 EXPECT_EQ(100u, lo.min()); 216 EXPECT_EQ(100u, lo.min());
239 EXPECT_EQ(110u, lo.max()); 217 EXPECT_EQ(110u, lo.max());
240 EXPECT_EQ(180u, hi.min()); 218 EXPECT_EQ(180u, hi.min());
241 EXPECT_EQ(200u, hi.max()); 219 EXPECT_EQ(200u, hi.max());
242 EXPECT_TRUE(d.Difference(d3, &diff));
243 EXPECT_EQ(2u, diff.size());
244 EXPECT_EQ(100u, diff[0]->min());
245 EXPECT_EQ(110u, diff[0]->max());
246 EXPECT_EQ(180u, diff[1]->min());
247 EXPECT_EQ(200u, diff[1]->max());
248 base::STLDeleteElements(&diff);
249 220
250 EXPECT_TRUE(d.Difference(d4, &lo, &hi)); 221 EXPECT_TRUE(d.Difference(d4, &lo, &hi));
251 EXPECT_EQ(100u, lo.min()); 222 EXPECT_EQ(100u, lo.min());
252 EXPECT_EQ(180u, lo.max()); 223 EXPECT_EQ(180u, lo.max());
253 EXPECT_TRUE(hi.Empty()); 224 EXPECT_TRUE(hi.Empty());
254 EXPECT_TRUE(d.Difference(d4, &diff));
255 EXPECT_EQ(1u, diff.size());
256 EXPECT_EQ(100u, diff[0]->min());
257 EXPECT_EQ(180u, diff[0]->max());
258 base::STLDeleteElements(&diff);
259 225
260 EXPECT_FALSE(d.Difference(d5, &lo, &hi)); 226 EXPECT_FALSE(d.Difference(d5, &lo, &hi));
261 EXPECT_EQ(100u, lo.min()); 227 EXPECT_EQ(100u, lo.min());
262 EXPECT_EQ(200u, lo.max()); 228 EXPECT_EQ(200u, lo.max());
263 EXPECT_TRUE(hi.Empty()); 229 EXPECT_TRUE(hi.Empty());
264 EXPECT_FALSE(d.Difference(d5, &diff));
265 EXPECT_EQ(1u, diff.size());
266 EXPECT_EQ(100u, diff[0]->min());
267 EXPECT_EQ(200u, diff[0]->max());
268 base::STLDeleteElements(&diff);
269 230
270 EXPECT_TRUE(d.Difference(d6, &lo, &hi)); 231 EXPECT_TRUE(d.Difference(d6, &lo, &hi));
271 EXPECT_TRUE(lo.Empty()); 232 EXPECT_TRUE(lo.Empty());
272 EXPECT_EQ(150u, hi.min()); 233 EXPECT_EQ(150u, hi.min());
273 EXPECT_EQ(200u, hi.max()); 234 EXPECT_EQ(200u, hi.max());
274 EXPECT_TRUE(d.Difference(d6, &diff));
275 EXPECT_EQ(1u, diff.size());
276 EXPECT_EQ(150u, diff[0]->min());
277 EXPECT_EQ(200u, diff[0]->max());
278 base::STLDeleteElements(&diff);
279 235
280 EXPECT_TRUE(d.Difference(d7, &lo, &hi)); 236 EXPECT_TRUE(d.Difference(d7, &lo, &hi));
281 EXPECT_EQ(100u, lo.min()); 237 EXPECT_EQ(100u, lo.min());
282 EXPECT_EQ(150u, lo.max()); 238 EXPECT_EQ(150u, lo.max());
283 EXPECT_TRUE(hi.Empty()); 239 EXPECT_TRUE(hi.Empty());
284 EXPECT_TRUE(d.Difference(d7, &diff));
285 EXPECT_EQ(1u, diff.size());
286 EXPECT_EQ(100u, diff[0]->min());
287 EXPECT_EQ(150u, diff[0]->max());
288 base::STLDeleteElements(&diff);
289 240
290 EXPECT_TRUE(d.Difference(d8, &lo, &hi)); 241 EXPECT_TRUE(d.Difference(d8, &lo, &hi));
291 EXPECT_TRUE(lo.Empty()); 242 EXPECT_TRUE(lo.Empty());
292 EXPECT_TRUE(hi.Empty()); 243 EXPECT_TRUE(hi.Empty());
293 EXPECT_TRUE(d.Difference(d8, &diff) && diff.empty());
294 } 244 }
295 245
296 TEST_F(IntervalTest, Length) { 246 TEST_F(IntervalTest, Length) {
297 const Interval<int> empty1; 247 const Interval<int> empty1;
298 const Interval<int> empty2(1, 1); 248 const Interval<int> empty2(1, 1);
299 const Interval<int> empty3(1, 0); 249 const Interval<int> empty3(1, 0);
300 const Interval<base::TimeDelta> empty4( 250 const Interval<base::TimeDelta> empty4(
301 base::TimeDelta() + base::TimeDelta::FromSeconds(1), base::TimeDelta()); 251 base::TimeDelta() + base::TimeDelta::FromSeconds(1), base::TimeDelta());
302 const Interval<int> d1(1, 2); 252 const Interval<int> d1(1, 2);
303 const Interval<int> d2(0, 50); 253 const Interval<int> d2(0, 50);
(...skipping 20 matching lines...) Expand all
324 const Interval<pair<int, int>> d2({1, 2}, {4, 3}); 274 const Interval<pair<int, int>> d2({1, 2}, {4, 3});
325 EXPECT_EQ("a", d1.min()); 275 EXPECT_EQ("a", d1.min());
326 EXPECT_EQ("b", d1.max()); 276 EXPECT_EQ("b", d1.max());
327 EXPECT_EQ(std::make_pair(1, 2), d2.min()); 277 EXPECT_EQ(std::make_pair(1, 2), d2.min());
328 EXPECT_EQ(std::make_pair(4, 3), d2.max()); 278 EXPECT_EQ(std::make_pair(4, 3), d2.max());
329 } 279 }
330 280
331 } // unnamed namespace 281 } // unnamed namespace
332 } // namespace test 282 } // namespace test
333 } // namespace net 283 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/interval.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698