def test_pattern_repeat(self): rule = Seq( Equal('A'), Any(Equal('A'), Equal('B')), Any(Equal('B'), Equal('C')) ) r = rule.get(0) assert isinstance(r, Equal) assert r('A') == None self.assertRaises(ValidationError, r, 'B') self.assertRaises(ValidationError, r, 'C') r = rule.get(1) assert isinstance(r, Any) assert r('A') == None assert r('B') == None self.assertRaises(ValidationError, r, 'C') r = rule.get(2) assert isinstance(r, Any) assert r('B') == None assert r('C') == None self.assertRaises(ValidationError, r, 'A')