Ejemplo n.º 1
0
 def testEmptyString(self):
     seq = madlib.parse("")
     self.assertEquals(madlib.expand(seq), "")
Ejemplo n.º 2
0
 def testAlternateLeftOpen(self):
     """TODO: this should fail to parse"""
     seq = madlib.parse("x{y|")
     chooser = lambda p: p[-1]
     self.assertEquals(madlib.expand(seq, chooser=chooser), "xy")
Ejemplo n.º 3
0
 def testCrazyScenario1(self):
     seq = madlib.parse("{{a|b}|{|grot}}foo")
     chooser = lambda p: p[0]
     self.assertEquals(madlib.expand(seq, chooser=chooser), "afoo")
Ejemplo n.º 4
0
 def testCrazyScenario2(self):
     seq = madlib.parse("{{a|{|{x|}b}}foo")
     chooser = lambda p: p[-1]
     self.assertEquals(madlib.expand(seq, chooser=chooser), "bfoo")
Ejemplo n.º 5
0
 def testNestedSimpleAlternate(self):
     seq = madlib.parse("a{x{y}z}b")
     self.assertEquals(madlib.expand(seq), "axyzb")
Ejemplo n.º 6
0
 def testNestedAlternates(self):
     seq = madlib.parse("a{x{y|y}z{q}")
     self.assertEquals(madlib.expand(seq), "axyzq")
Ejemplo n.º 7
0
 def testAlternateMarkerOutsideOfAlternate(self):
     seq = madlib.parse("foo|bar")
     self.assertEquals(madlib.expand(seq), "foo|bar")
Ejemplo n.º 8
0
 def testAlternate(self):
     seq = madlib.parse("a{x|x}b")
     self.assertEquals(madlib.expand(seq), "axb")
Ejemplo n.º 9
0
 def testAlternateOfEmpty(self):
     seq = madlib.parse("foo{|}bar")
     self.assertEquals(madlib.expand(seq), "foobar")
Ejemplo n.º 10
0
 def testSimpleStringWithEmptyAlternate(self):
     seq = madlib.parse("ab{}cd")
     self.assertEquals(madlib.expand(seq), "abcd")
Ejemplo n.º 11
0
 def testSimpleAlternate(self):
     seq = madlib.parse("{x}")
     self.assertEquals(madlib.expand(seq), "x")
Ejemplo n.º 12
0
 def testEmptyAlternative(self):
     seq = madlib.parse("{}")
     self.assertEquals(madlib.expand(seq), "")
Ejemplo n.º 13
0
 def testSimpleString(self):
     seq = madlib.parse("hello")
     self.assertEquals(madlib.expand(seq), "hello")