-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_rabinkarp.py
30 lines (23 loc) · 894 Bytes
/
test_rabinkarp.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'''
test_rabinkarp.py - Unit tests for rabin_karp() function
Written by Sergey Torshin @torshin5ergey
'''
import unittest
from rabinkarp import rabin_karp
class TestRabinKarp(unittest.TestCase):
"""Tests for rabin_karp()"""
def setUp(self) -> None:
return super().setUp()
def test_smoke_rabin_karp(self):
"""Basic tests"""
self.assertEqual(rabin_karp('Rabin Karp', 'Rabin'), 0)
self.assertEqual(rabin_karp('Rabin Karp', 'Karp'), 6)
self.assertEqual(rabin_karp('Rabin Karp', 'Rabin Karp'), 0)
def test_edge_rabin_karp(self):
"""Edge tests"""
self.assertEqual(rabin_karp('Rabin Karp', 'foo'), -1)
self.assertEqual(rabin_karp('', 'foo'), -1)
self.assertEqual(rabin_karp('Rabin Karp', ''), 0)
self.assertEqual(rabin_karp('Rabin', 'Rabin Karp'), -1)
if __name__ == "__main__":
unittest.main()