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

Side by Side Diff: test/version_range_test.dart

Issue 2035983002: Make VersionRange implement Comparable. (Closed) Base URL: git@github.com:dart-lang/pub_semver@master
Patch Set: Created 4 years, 6 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
« lib/src/version.dart ('K') | « lib/src/version_union.dart ('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 (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:test/test.dart'; 5 import 'package:test/test.dart';
6 6
7 import 'package:pub_semver/pub_semver.dart'; 7 import 'package:pub_semver/pub_semver.dart';
8 8
9 import 'utils.dart'; 9 import 'utils.dart';
10 10
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 .union(new VersionRange(min: v003, max: v114, includeMax: true)); 438 .union(new VersionRange(min: v003, max: v114, includeMax: true));
439 expect(result, equals(new VersionRange( 439 expect(result, equals(new VersionRange(
440 min: v003, max: v114, includeMin: true, includeMax: true))); 440 min: v003, max: v114, includeMin: true, includeMax: true)));
441 }); 441 });
442 }); 442 });
443 443
444 test('isEmpty', () { 444 test('isEmpty', () {
445 expect(new VersionRange().isEmpty, isFalse); 445 expect(new VersionRange().isEmpty, isFalse);
446 expect(new VersionRange(min: v123, max: v124).isEmpty, isFalse); 446 expect(new VersionRange(min: v123, max: v124).isEmpty, isFalse);
447 }); 447 });
448
449 group('compareTo()', () {
450 test("orders by minimum first", () {
451 _expectComparesSmaller(
452 new VersionRange(min: v003, max: v080),
453 new VersionRange(min: v010, max: v072));
454 _expectComparesSmaller(
455 new VersionRange(min: v003, max: v080),
456 new VersionRange(min: v010, max: v080));
457 _expectComparesSmaller(
458 new VersionRange(min: v003, max: v080),
459 new VersionRange(min: v010, max: v114));
460 });
461
462 test("orders by maximum second", () {
463 _expectComparesSmaller(
464 new VersionRange(min: v003, max: v010),
465 new VersionRange(min: v003, max: v072));
466 });
467
468 test("includeMin comes before !includeMin", () {
469 _expectComparesSmaller(
470 new VersionRange(min: v003, max: v080, includeMin: true),
471 new VersionRange(min: v003, max: v080, includeMin: false));
472 });
473
474 test("includeMax comes after !includeMax", () {
475 _expectComparesSmaller(
476 new VersionRange(min: v003, max: v080, includeMax: false),
477 new VersionRange(min: v003, max: v080, includeMax: true));
478 });
479
480 test("no minimum comes before small minimum", () {
481 _expectComparesSmaller(
482 new VersionRange(max: v010),
483 new VersionRange(min: v003, max: v010));
484 _expectComparesSmaller(
485 new VersionRange(max: v010, includeMin: true),
Bob Nystrom 2016/06/03 16:18:03 What's the difference between this and the previou
nweiz 2016/06/06 22:27:46 This *should* be the same as the last test, but Ve
486 new VersionRange(min: v003, max: v010));
487 });
488
489 test("no maximium comes after large maximum", () {
490 _expectComparesSmaller(
491 new VersionRange(min: v003, max: v300),
492 new VersionRange(min: v003));
493 _expectComparesSmaller(
494 new VersionRange(min: v003, max: v300),
495 new VersionRange(min: v003, includeMax: true));
496 });
497 });
448 } 498 }
499
500 void _expectComparesSmaller(VersionRange smaller, VersionRange larger) {
501 expect(smaller.compareTo(larger), lessThan(0),
502 reason: "expected $smaller to sort below $larger");
503 expect(larger.compareTo(smaller), greaterThan(0),
504 reason: "expected $larger to sort above $smaller");
505 }
OLDNEW
« lib/src/version.dart ('K') | « lib/src/version_union.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698