|
1 | 1 | import unittest |
2 | 2 |
|
3 | | -import stringscore |
| 3 | +from stringscore import liquidmetal |
| 4 | +from stringscore import quicksilver |
4 | 5 |
|
5 | 6 |
|
6 | | -class StringScoreTestCase(unittest.TestCase): |
| 7 | +class LiquidMetalTestCase(unittest.TestCase): |
7 | 8 |
|
8 | 9 | def test_score(self): |
9 | | - n = stringscore.SCORE_NO_MATCH |
10 | | - m = stringscore.SCORE_MATCH |
11 | | - t = stringscore.SCORE_TRAILING |
12 | | - s = stringscore.SCORE_TRAILING_BUT_STARTED |
13 | | - b = stringscore.SCORE_BUFFER |
| 10 | + n = liquidmetal.SCORE_NO_MATCH |
| 11 | + m = liquidmetal.SCORE_MATCH |
| 12 | + t = liquidmetal.SCORE_TRAILING |
| 13 | + s = liquidmetal.SCORE_TRAILING_BUT_STARTED |
| 14 | + b = liquidmetal.SCORE_BUFFER |
14 | 15 |
|
15 | 16 | tests = { |
16 | 17 | ('', ''): [t], |
@@ -46,10 +47,49 @@ def test_score(self): |
46 | 47 | } |
47 | 48 |
|
48 | 49 | for k, v in tests.items(): |
49 | | - score = round(stringscore.score(*k), 12) |
| 50 | + score = round(liquidmetal.score(*k), 12) |
50 | 51 | expected_score = round(sum(v) / len(v), 12) |
51 | 52 | self.assertEqual(score, expected_score) |
52 | 53 |
|
53 | 54 |
|
| 55 | +class QuickSilverTestCase(unittest.TestCase): |
| 56 | + |
| 57 | + def test_score(self): |
| 58 | + tests = [ |
| 59 | + (('', ''), 0.9), |
| 60 | + (('', 'a'), 0.0), |
| 61 | + (('a', ''), 0.9), |
| 62 | + (('a', 'toolong'), 0.0), |
| 63 | + (('a', 'a'), 1.0), |
| 64 | + (('a', 'b'), 0.0), |
| 65 | + (('abc', ''), 0.9), |
| 66 | + (('abc', 'a'), 0.933333333333), |
| 67 | + (('abc', 'b'), 0.633333333333), |
| 68 | + (('abc', 'c'), 0.333333333333), |
| 69 | + (('abc', 'd'), 0.0), |
| 70 | + (('A', 'a'), 1.0), |
| 71 | + (('A', 'b'), 0.0), |
| 72 | + (('FooBar', ''), 0.9), |
| 73 | + (('FooBar', 'foo'), 0.95), |
| 74 | + (('FooBar', 'fb'), 0.916666666667), |
| 75 | + (('foobar', 'fb'), 0.633333333333), |
| 76 | + (('FooBar', 'b'), 0.75), |
| 77 | + (('FooBar', 'ooar'), 0.666666666667), |
| 78 | + (('FooBar', 'bab'), 0.0), |
| 79 | + (('Foo Bar', ''), 0.9), |
| 80 | + (('Foo Bar', 'foo'), 0.942857142857), |
| 81 | + (('Foo Bar', 'fb'), 0.928571428571), |
| 82 | + (('Foo-Bar', 'fb'), 0.907142857143), |
| 83 | + (('Foo_Bar', 'fb'), 0.907142857143), |
| 84 | + (('Foo Bar', 'b'), 0.907142857143), |
| 85 | + (('Foo Bar', 'ooar'), 0.571428571429), |
| 86 | + (('Foo Bar', 'bab'), 0.0), |
| 87 | + (('gnu\'s Not Unix', 'nu'), 0.85), |
| 88 | + ] |
| 89 | + |
| 90 | + for k, v in tests: |
| 91 | + self.assertEqual(round(quicksilver.score(*k), 12), v) |
| 92 | + |
| 93 | + |
54 | 94 | if __name__ == '__main__': |
55 | 95 | unittest.main() |
0 commit comments