Esempio n. 1
0
 def test_no_recursive(self):
     p = pattern(re("a*.f"), re("z.+"))
     p2 = pattern(p)
     assert id(p) == id(p2)
     assert p == p2
     representation = str(p2).replace("'", '"')
     assert (
         representation ==
         'Pattern((Pattern(re.compile("a*.f")), Pattern(re.compile("z.+"))))'
     )
Esempio n. 2
0
 def test_ellipsis__len(self, examples):
     # Ellipsis should match anything,
     # however the tuples need to have the same length
     p = pattern((..., Ellipsis))
     result = [e for e in examples if p(e)]
     assert len(result) == 2
     assert result == [(1, 2), ("asdf", "zxcv")]
Esempio n. 3
0
 def test_arbitrary(self, examples):
     p = pattern(1, glob("a*f"), ..., 42)
     result = [e for e in examples if p(e)]
     assert len(result) == 1
     assert result == [(1, "abcdef", {"dict": 90}, 42)]
Esempio n. 4
0
 def test_fnmatch__regex(self, examples):
     p = pattern(glob("a*f"), re("z.+"))
     result = [e for e in examples if p(e)]
     assert len(result) == 1
     assert result == [("asdf", "zxcv")]
Esempio n. 5
0
 def test_no_recursive(self):
     p = glob("4*")
     p2 = pattern(p)
     assert id(p) == id(p2)
     assert p == p2
     assert "Pattern(re.compile(" in str(p2)
Esempio n. 6
0
 def test_find_str(self, examples):
     p = pattern("42")
     assert type(p).__name__ == "Pattern"
     results = [(k, v) for k, v in examples if p(k)]
     assert len(results) == 1
     assert results[0] == ("42", 3)