|
1 | 1 | import unittest |
2 | | -from . import group_anagrams |
| 2 | +from parameterized import parameterized |
| 3 | +from . import group_anagrams, group_anagrams_naive |
3 | 4 |
|
4 | 5 |
|
5 | 6 | class GroupAnagramsTestCase(unittest.TestCase): |
| 7 | + @parameterized.expand([ |
| 8 | + ("test_1", ["eat", "beat", "neat", "tea"], [["eat", "tea"], ["beat"], ["neat"]]), |
| 9 | + ("test_2", ["duel", "dule", "speed", "spede", "deul", "cars"], [["duel", "dule", "deul"], ["speed", "spede"], ["cars"]]), |
| 10 | + ("test_3", ["eat","tea","tan","ate","nat","bat"], [["eat","tea","ate"],["tan","nat"],["bat"]]), |
| 11 | + ("test_4", ["word","sword","drow","rowd","iced","dice"], [["word","drow","rowd"],["sword"],["iced","dice"]]), |
| 12 | + ("test_5", ["eat","drink","sleep","repeat"], [["eat"],["drink"],["sleep"],["repeat"]]), |
| 13 | + ("test_6", ["hello","ohlle","dark"], [["hello","ohlle"],["dark"]]) |
| 14 | + ]) |
| 15 | + def test1(self, _, strs, expected): |
| 16 | + actual = group_anagrams(strs) |
| 17 | + self.assertEqual(actual, expected) |
| 18 | + |
| 19 | + @parameterized.expand([ |
| 20 | + ("test_1", ["eat", "beat", "neat", "tea"], [["eat", "tea"], ["beat"], ["neat"]]), |
| 21 | + ("test_2", ["duel", "dule", "speed", "spede", "deul", "cars"], [["duel", "dule", "deul"], ["speed", "spede"], ["cars"]]), |
| 22 | + ("test_3", ["eat","tea","tan","ate","nat","bat"], [["eat","tea","ate"],["tan","nat"],["bat"]]), |
| 23 | + ("test_4", ["word","sword","drow","rowd","iced","dice"], [["word","drow","rowd"],["sword"],["iced","dice"]]), |
| 24 | + ("test_5", ["eat","drink","sleep","repeat"], [["eat"],["drink"],["sleep"],["repeat"]]), |
| 25 | + ("test_6", ["hello","ohlle","dark"], [["hello","ohlle"],["dark"]]) |
| 26 | + ]) |
| 27 | + def test2(self, _, strs, expected): |
| 28 | + actual = group_anagrams_naive(strs) |
| 29 | + self.assertEqual(actual, expected) |
| 30 | + |
6 | 31 | def test_1(self): |
7 | 32 | strs = ["eat", "beat", "neat", "tea"] |
8 | 33 | expected = [["eat", "tea"], ["beat"], ["neat"]] |
@@ -39,12 +64,6 @@ def test_6(self): |
39 | 64 | actual = group_anagrams(strs) |
40 | 65 | self.assertEqual(expected, actual) |
41 | 66 |
|
42 | | - def test_7(self): |
43 | | - strs = ["eat","beat","neat","tea"] |
44 | | - expected = [["eat","tea"],["beat"],["neat"]] |
45 | | - actual = group_anagrams(strs) |
46 | | - self.assertEqual(expected, actual) |
47 | | - |
48 | 67 |
|
49 | 68 | if __name__ == '__main__': |
50 | 69 | unittest.main() |
0 commit comments