def test_end(self): regex = RegExpBuilder() regex.exactly(1).of("p") regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("p") is not None) self.assertTrue(regex.match("pq") is None)
def test_ofAny(self): regex = RegExpBuilder() regex.start() regex.exactly(3).ofAny() regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("pqr") is not None)
def test_of(self): regex = RegExpBuilder() regex.start() regex.exactly(2).of("p p p ") regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("p p p p p p ") is not None) self.assertTrue(regex.match("p p p p pp") is None)
def test_notFromClass(self): someLetters = ["p", "q", "r"] regex = RegExpBuilder() regex.start() regex.exactly(3).notFromClass(someLetters) regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("lmn") is not None) self.assertTrue(regex.match("mnq") is None)
def test_ofGroup(self): regex = RegExpBuilder() regex.start() regex.exactly(3).of("p").asGroup() regex.exactly(1).of("q") regex.exactly(1).ofGroup(1) regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("pppqppp") is not None)
def test_like(self): pattern = lambda r: r.min(1).of("p").min(2).of("q") regex = RegExpBuilder() regex.start() regex.exactly(2).like(pattern) regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("pqqpqq") is not None) self.assertTrue(regex.match("qppqpp") is None)
def test_eitherLike_orLike(self): regex = RegExpBuilder() regex.start() regex.eitherLike(lambda r: r.exactly(1).of("p")) regex.orLike(lambda r: r.exactly(2).of("q")) regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("p") is not None) self.assertTrue(regex.match("qq") is not None) self.assertTrue(regex.match("pqq") is None) self.assertTrue(regex.match("qqp") is None)
def test_fromClass(self): someLetters = ["p", "q", "r"] regex = RegExpBuilder() regex.start() regex.exactly(3).fromClass(someLetters) regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("ppp") is not None) self.assertTrue(regex.match("qqq") is not None) self.assertTrue(regex.match("ppq") is not None) self.assertTrue(regex.match("rqp") is not None) self.assertTrue(regex.match("pyy") is None)
def test_min_max(self): regex = RegExpBuilder() regex.start() regex.min(3).max(7).of("p") regex.end() regex = regex.getRegExp() self.assertTrue(regex.match("ppp") is not None) self.assertTrue(regex.match("ppppp") is not None) self.assertTrue(regex.match("ppppppp") is not None) self.assertTrue(regex.match("pp") is None) self.assertTrue(regex.match("p") is None) self.assertTrue(regex.match("pppppppp") is None) self.assertTrue(regex.match("pppppppppppp") is None)