OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 /// Tests for the binary search utility algorithm. | |
6 library test.utils_test; | |
7 | |
8 import 'package:unittest/unittest.dart'; | 5 import 'package:unittest/unittest.dart'; |
9 import 'package:source_maps/src/utils.dart'; | 6 import 'package:source_span/src/utils.dart'; |
10 | 7 |
11 main() { | 8 main() { |
12 group('binary search', () { | 9 group('binary search', () { |
13 test('empty', () { | 10 test('empty', () { |
14 expect(binarySearch([], (x) => true), -1); | 11 expect(binarySearch([], (x) => true), -1); |
15 }); | 12 }); |
16 | 13 |
17 test('single element', () { | 14 test('single element', () { |
18 expect(binarySearch([1], (x) => true), 0); | 15 expect(binarySearch([1], (x) => true), 0); |
19 expect(binarySearch([1], (x) => false), 1); | 16 expect(binarySearch([1], (x) => false), 1); |
(...skipping 25 matching lines...) Expand all Loading... |
45 } | 42 } |
46 | 43 |
47 _linearSearch(list, predicate) { | 44 _linearSearch(list, predicate) { |
48 if (list.length == 0) return -1; | 45 if (list.length == 0) return -1; |
49 for (int i = 0; i < list.length; i++) { | 46 for (int i = 0; i < list.length; i++) { |
50 if (predicate(list[i])) return i; | 47 if (predicate(list[i])) return i; |
51 } | 48 } |
52 return list.length; | 49 return list.length; |
53 } | 50 } |
54 | 51 |
OLD | NEW |