def test_ofAny(self): regex = RegExpBuilder() regex.startOfLine() regex.exactly(3).ofAny() regex.endOfLine() regex = regex.getRegExp() self.assertTrue(regex.match("pqr") is not None)
def test_startOfLine(self): regex = RegExpBuilder() regex.startOfLine() regex.exactly(1).of("p") regex = regex.getRegExp() self.assertTrue(regex.match("p") is not None) self.assertTrue(regex.match("qp") is None)
def test_notFromClass(self): someLetters = ["p", "q", "r"] regex = RegExpBuilder() regex.startOfLine() regex.exactly(3).notFromClass(someLetters) regex.endOfLine() 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.startOfLine() regex.exactly(3).of("p").asGroup() regex.exactly(1).of("q") regex.exactly(1).ofGroup(1) regex.endOfLine() regex = regex.getRegExp() self.assertTrue(regex.match("pppqppp") is not None)
def test_min(self): regex = RegExpBuilder() regex.startOfLine() regex.min(2).of("p") regex.endOfLine() regex = regex.getRegExp() self.assertTrue(regex.match("pp") is not None) self.assertTrue(regex.match("ppp") is not None) self.assertTrue(regex.match("ppppppp") is not None) self.assertTrue(regex.match("p") is None)
def test_like(self): pattern = RegExpBuilder().min(1).of("p").min(2).of("q") regex = RegExpBuilder() regex.startOfLine() regex.exactly(2).like(pattern) regex.endOfLine() 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.startOfLine() regex.eitherLike(RegExpBuilder().exactly(1).of("p")) regex.orLike(RegExpBuilder().exactly(2).of("q")) regex.endOfLine() 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.startOfLine() regex.exactly(3).fromClass(someLetters) regex.endOfLine() 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)