def test_badChars(self): """CharFilter badChars should report bad chars""" c = CharFilter('abc') d = CharFilter('abc',invert_charset=True) #should automatically strip whitespace s2 = ' aceacef ' self.assertEqual(c.badChars(s2), set('ef')) self.assertEqual(d.badChars(s2), set('ac'))
def test_errMsg(self): """CharFilter errMsg should produce useful error message""" c = CharFilter('abc') d = CharFilter('abc', name='XYZ', invert_charset=True) #should automatically strip whitespace s2 = ' aceacef ' self.assertEqual(c.errMsg(s2), "Filter 'None' found bad chars 'e,f' in input ' aceacef '") self.assertEqual(d.errMsg(s2), "Filter 'XYZ' found bad chars 'a,c' in input ' aceacef '")
def test_call(self): """CharFilter object should omit or keep desired chars""" c = CharFilter('abc') d = CharFilter('abc', invert_charset=True) e = CharFilter('abc', default_char='#') f = CharFilter('abc', invert_charset=True, default_char='#') s = ('aceace') self.assertEqual(c(s), 'acac') self.assertEqual(d(s), 'ee') self.assertEqual(e(s), 'ac#ac#') self.assertEqual(f(s), '##e##e') #should automatically strip whitespace s2 = ' aceacef ' self.assertEqual(c(s2), 'acac') self.assertEqual(d(s2), 'eef')
def test_init(self): """CharFilter object should init and set properties right""" c = CharFilter('abc') self.assertEqual(c.Chars, 'abc') self.assertEqual(c.Name, None) self.assertEqual(c.Invert, False) self.assertEqual(c.stripF, strip)
def test_badChars(self): """CharFilter badChars should report bad chars""" c = CharFilter('abc') d = CharFilter('abc', invert_charset=True) #should automatically strip whitespace s2 = ' aceacef ' self.assertEqual(c.badChars(s2), set('ef')) self.assertEqual(d.badChars(s2), set('ac'))
def test_errMsg(self): """CharFilter errMsg should produce useful error message""" c = CharFilter('abc') d = CharFilter('abc', name='XYZ', invert_charset=True) #should automatically strip whitespace s2 = ' aceacef ' self.assertEqual( c.errMsg(s2), "Filter 'None' found bad chars 'e,f' in input ' aceacef '") self.assertEqual( d.errMsg(s2), "Filter 'XYZ' found bad chars 'a,c' in input ' aceacef '")
def test_resultAndError(self): """CharFilter resultAndError should return both result and error""" c = CharFilter('abc') s2 = ' aceacef ' self.assertEqual(c.resultAndError(s2), (c(s2), c.errMsg(s2)))