def test_no_ccns(self): """ Shouldn't be any raw CCNs in num_safe(text). 'text' is imported from ccn_safety.py. """ pattern = r"(\d{4}(-| )\d{4}(-| )\d{4}(-| )\d{4})" self.assertIsNone(re.search(pattern, num_safe(text)))
def test_iter(self): """ Need some practice with re.finditer() """ fixed_pattern = "CCN REMOVED FOR YOUR SAFETY" expected = "CCN REMOVED FOR YOUR SAFETY" m = re.finditer(fixed_pattern, num_safe(newtext)) expectedlist = [ expected, expected, expected] self.assertEqual([ a.group() for a in m ], expectedlist)
def test_re_mojo(self): """ Test that 'findall(pattern, num_safe(newtext))' gets returned with properly fixed CCNs" """ #pattern = r"(X{4}-X{4}-X{4}-\d{4})" pattern = "CCN REMOVED FOR YOUR SAFETY" expected = "CCN REMOVED FOR YOUR SAFETY" test = re.findall(pattern, num_safe(newtext)) self.assertEqual(test[0], expected) self.assertEqual(test[1], expected) self.assertEqual(test[2], expected) self.assertEqual(len(test), 3)
def test_txt(self): "Entire passages with ccn's should be correct." self.assertEqual(num_safe(txt2test), fixed_txt)
def test_sub(self): "Tests that simple substitutions are okay" expected = "CCN REMOVED FOR YOUR SAFETY" self.assertEqual(num_safe("1234-1234-1234-1234"), expected) self.assertEqual(num_safe("1234 1234 1234 1234"), expected)