def testPhase3Stage3(self): # 8 May 2013: auto-detection, concatenate # concatenate self.assertTrue (re.match(regexpgen.concatenate([ ('int', "%d", 100, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]), "100.250.122.10")) self.assertFalse(re.match(regexpgen.concatenate([ ('int', "%d", 100, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]), "99.250.122.10")) self.assertTrue(re.match(regexpgen.concatenate([ ('int', "%04d", 99, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]), "0099.250.122.10")) self.assertFalse(re.match(regexpgen.concatenate([ ('int', "%04d", 99, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]), "99.250.122.10")) # auto self.assertTrue (re.match(regexpgen.auto("%d", 1, None), "1")) self.assertTrue (re.match(regexpgen.auto("%03d", 0, 100), "099")) self.assertFalse (re.match(regexpgen.auto("%lf", -0.01, 1.5), "1.51")) self.assertFalse (re.match(regexpgen.auto("%0.1lf", -100.0, 100.0), "-100.00")) self.assertTrue (re.match(regexpgen.auto("%016.10lf"), "15600001.0123456789")) self.assertFalse (re.match(regexpgen.auto("%H:%M"), "24:23")) self.assertRaises(ValueError, regexpgen.auto, "%I?%M?%p", "12:24am", "5:59 pm")
def testDefault(self): regexp = regexpgen.concatenate([ ('int', "%d", 100, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]) self.assertTrue(re.match(regexp, "100.250.122.1")) self.assertFalse(re.match(regexp, "111.117.111.1")) regexp = regexpgen.concatenate([ ('int', "%d", 100, 105), ('\-',), ('real', "%lf") ]) self.assertTrue(re.match(regexp, "100-22.5")) self.assertFalse(re.match(regexp, "22.5-100")) regexp = regexpgen.concatenate([ ('date', "%m/%d"), (' ',), ('time', "%H:%M") ]) self.assertTrue(re.match(regexp, "02/25 22:13")) self.assertFalse(re.match(regexp, "22.5-100")) regexp = regexpgen.concatenate([ ('date', "%m/%d"), (' - ',), ('date', "%m/%d") ]) self.assertTrue(re.match(regexp, "02/25 - 02/27")) self.assertFalse(re.match(regexp, "32/25 - 32/25"))
def testPhase2Stage1(self): # 27 March 2013: real %0.Ylf and %.Ylf func = regexpgen.real self.assertRaises(ValueError, func, "%.1lf", 'a', 'a') self.assertRaises(ValueError, func, "%2.2lf", 'b', 'b') self.assertRaises(ValueError, func, "%.1lf", 10, 10) self.assertRaises(ValueError, func, "%0.2lf", 'b', 'b') self.assertRaises(ValueError, func, "%0.2lf", 13, -13) self.assertTrue (re.match(func("%0.2lf", -12.7, 23.5), "-9.99")) self.assertFalse(re.match(func("%0.2lf", -12.7, 23.5), "-9.99999")) self.assertTrue (re.match(func("%0.2lf", -12.7, 23.5), "23.10")) self.assertTrue (re.match(func("%0.1lf", -100.0, 100.0), "-100.0")) self.assertTrue (re.match(func("%0.1lf", -100.0, 100.0), "100.0")) self.assertFalse(re.match(func("%0.1lf", -100.0, 100.0), "-100.00")) self.assertFalse(re.match(func("%0.1lf", -100.0, 100.0), "100.00")) self.assertTrue (re.match(func("%0.2lf", 0.0, 10.11), "10.11")) self.assertFalse(re.match(func("%0.2lf", 0.0, 10.11), "10.111")) self.assertFalse(re.match(func("%0.2lf", 0.0, 10.11), "0010.10")) self.assertTrue (re.match(func("%.2lf"), "0.11")) self.assertTrue (re.match(func("%.2lf"), "11111.11")) self.assertTrue (re.match(func("%.2lf"), "-123.11")) self.assertTrue (re.match(func("%.2lf", 0.0, 10.11), "0.11")) self.assertTrue (re.match(func("%.2lf", 0.0, 10.11), "10.11")) self.assertFalse(re.match(func("%.2lf", 0.0, 10.11), "10.111")) self.assertFalse(re.match(func("%.2lf", 0.0, 10.11), "10.12")) self.assertFalse(re.match(func("%.2lf", 0.0, 10.11), "0.111")) self.assertFalse(re.match(func("%.2lf", 0.0, 10.11), "111.11")) self.assertFalse(re.match(func("%.2lf", 0.0, 10.11), "-0.111")) self.assertTrue (re.match(regexpgen.concatenate([ ('int', "%d", 100, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]), "100.250.122.10"))
''' Created on Apr 27, 2011 @authors: Joanna Binczewska, Dawid Kowalski ''' import regexpgen print regexpgen.nnint("%04d", 71, 2319) print regexpgen.integer("%0d", -521, 132) print regexpgen.real("%lf", -12.7, 23.5) print regexpgen.real("%lf", -100.0, 100.0) print regexpgen.real("%lf", 0.0, 10.1) print regexpgen.concatenate([ ('int', "%d", 100, 105), ('\.',), ('int', "%d", 250, 255), ('\.',), ('int', "%d", 122, 122), ('\.',), ('int', "%d", 0, 240) ]) print regexpgen.time("%H:%M", "12:24", "17:59") print regexpgen.date("%Y-%m-%d", "2013-03-15", "2013-04-24") print regexpgen.date("%d/%m", "15/09")