def test_wildcard_validity(self): self.assertTrue(Settings._is_wildcard_match('foo', '*')) self.assertTrue(Settings._is_wildcard_match(3, '*')) self.assertTrue(Settings._is_wildcard_match(False, '*')) self.assertTrue(Settings._is_wildcard_match(3.5, '*')) self.assertTrue(Settings._is_wildcard_match('foo', '*:str')) self.assertFalse(Settings._is_wildcard_match('foo', '*:bool')) self.assertTrue(Settings._is_wildcard_match(True, '*:bool')) self.assertFalse(Settings._is_wildcard_match(3, '*:bool')) self.assertTrue(Settings._is_wildcard_match(3, '*:int')) self.assertFalse(Settings._is_wildcard_match(3.5, '*:int')) self.assertTrue(Settings._is_wildcard_match(3.5, '*:float')) self.assertFalse(Settings._is_wildcard_match('foo', '*:float')) with self.assertRaises(InvalidWildcardError): Settings._is_wildcard_match(3.5, '*:foo') self.assertTrue(Settings._is_in_prim('foo', '*')) self.assertTrue(Settings._is_in_prim('foo', '*:str')) self.assertFalse(Settings._is_in_prim('foo', '*:bool')) Settings._validity_check({'foo':'bar'}, {'foo':'*'}) Settings._validity_check({'foo':'bar'}, {'foo':'*:str'}) with self.assertRaises(InvalidSettingError): Settings._validity_check({'foo':'bar'}, {'foo':'*:bool'}) Settings._validity_check({'foo':'bar'}, {'foo':['*:int','*:str']})
def test_is_in_prim_order(self): Settings._validity_check({'foo':'foov'},{'foo':['foov','*:bool',r'\d+:re']}) Settings._validity_check({'foo':True},{'foo':['foov','*:bool',r'\d+:re']}) Settings._validity_check({'foo':3},{'foo':['foov','*:bool',r'\d+:re']}) Settings._validity_check({'foo':'True'},{'foo':[r'True:re','*:bool']}) Settings._validity_check({'foo':False},{'foo':[r'True:re','*:bool']}) with self.assertRaises(InvalidSettingError): Settings._validity_check({'foo':False},{'foo':[r'True:re']})
def test_is_regex_match(self): self.assertTrue(Settings._is_regex_match('foo', r'\w+:re')) self.assertTrue(Settings._is_regex_match('foo', r'F\w:re:I')) self.assertFalse(Settings._is_regex_match('foo', r'F\w$:re:I')) self.assertTrue(Settings._is_regex_match('foo', r'F\w+:re:I ')) with self.assertRaises(InvalidRegexError): self.assertTrue(Settings._is_regex_match('foo', r'F\w+:re:I Z')) with self.assertRaises(InvalidRegexError): self.assertTrue(Settings._is_regex_match('foo', r'F\w+:re:i')) self.assertFalse(Settings._is_regex_match("f\no", r'...:re')) self.assertTrue(Settings._is_regex_match("f\no", r'...:re:S')) self.assertFalse(Settings._is_regex_match("f\no", r'F..:re:S')) self.assertFalse(Settings._is_regex_match("f\no", r'F..:re:I')) self.assertTrue(Settings._is_regex_match("f\no", r'F..:re:IS')) self.assertTrue(Settings._is_regex_match("f\no", r'F..:re:SI')) with self.assertRaises(InvalidSettingError): Settings._validity_check({'foo': 'bar'}, {'foo': r'B\w+:re'}) Settings._validity_check({'foo': 'bar'}, {'foo': r'B\w:re:I'}) Settings._validity_check({'foo': 'b\nr'}, {'foo': r'B.\w:re:IS'}) with self.assertRaises(InvalidSettingError): Settings._validity_check({'foo': 'b\nr'}, {'foo': r'B.\w:re:I'}) Settings._validity_check({'foo':{'baz':'b\nr'}}, {'foo':{'baz':r'B.\w:re:IS'}}) Settings._validity_check({'foo':345}, {'foo':r'\d+:re'}) Settings._validity_check({'foo':True}, {'foo':r'True:re'}) Settings._validity_check({'foo':False}, {'foo':r'False:re'}) Settings._validity_check({'foo':3.4}, {'foo':r'\d+(\.\d+)?:re'}) Settings._validity_check({'foo':34}, {'foo':r'\d+(\.\d+)?:re'})