OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library test.services.correction.levenshtein; | |
6 | |
7 import 'package:analysis_services/src/correction/levenshtein.dart'; | |
8 import 'package:analysis_testing/reflective_tests.dart'; | |
9 import 'package:unittest/unittest.dart'; | |
10 | |
11 | |
12 main() { | |
13 groupSep = ' | '; | |
14 runReflectiveTests(LevenshteinTest); | |
15 } | |
16 | |
17 @ReflectiveTestCase() | |
18 class LevenshteinTest { | |
19 void test_different_caseInsensitive() { | |
20 expect(levenshtein('Saturday', 'sunday', 5, caseSensitive: false), 3); | |
21 expect(levenshtein('SaturDay', 'sunday', 5, caseSensitive: false), 3); | |
22 } | |
23 | |
24 void test_different_onThreshold() { | |
25 expect(levenshtein('', 'abcde', 5), 5); | |
26 expect(levenshtein('abcde', '', 5), 5); | |
27 } | |
28 | |
29 void test_different_overThreshold() { | |
30 expect(levenshtein('', 'abcde', 2), LEVENSHTEIN_MAX); | |
31 expect(levenshtein('abcde', '', 2), LEVENSHTEIN_MAX); | |
32 } | |
33 | |
34 void test_different_overThreshold_length() { | |
35 expect(levenshtein('a', 'abcdefgh', 5), LEVENSHTEIN_MAX); | |
36 expect(levenshtein('abcdefgh', 'a', 5), LEVENSHTEIN_MAX); | |
37 } | |
38 | |
39 void test_different_underThreshold() { | |
40 expect(levenshtein('String', 'Stirng', 5), 2); | |
41 expect(levenshtein('kitten', 'sitting', 5), 3); | |
42 expect(levenshtein('Saturday', 'Sunday', 5), 3); | |
43 } | |
44 | |
45 void test_negativeThreshold() { | |
46 expect(() { | |
47 levenshtein('', '', -5); | |
48 }, throws); | |
49 } | |
50 | |
51 void test_null() { | |
52 expect(() { | |
53 levenshtein('', null, 5); | |
54 }, throws); | |
55 expect(() { | |
56 levenshtein(null, '', 5); | |
57 }, throws); | |
58 } | |
59 | |
60 void test_same() { | |
61 expect(levenshtein('', '', 5), 0); | |
62 expect(levenshtein('test', 'test', 5), 0); | |
63 } | |
64 | |
65 void test_same_caseInsensitive() { | |
66 expect(levenshtein('test', 'Test', 5, caseSensitive: false), 0); | |
67 } | |
68 } | |
OLD | NEW |