def test_solve_multiple_inputs(self): r = StringIO.StringIO( "<Team><Cooly></Cooly></Team><notFound></notFound><Team><Cooly></Cooly></Team><Team></Team>" ) w = StringIO.StringIO() xml_solve(r, w) self.assertEqual(w.getvalue(), "0\n\n1\n1\n\n")
def test_solve_no_whitespace(self): r = StringIO.StringIO( "<THU><Team><ACRush></ACRush><Jelly></Jelly><Cooly></Cooly></Team><JiaJia><Team><Ahyangyi></Ahyangyi><Dragon></Dragon><Cooly><Amber></Amber></Cooly></Team></JiaJia></THU><Team><Cooly></Cooly></Team>" ) w = StringIO.StringIO() xml_solve(r, w) self.assertEqual(w.getvalue(), "2\n2\n7\n\n")
def test_solve1(self): r = StringIO.StringIO( "<THU>\n\t<Team>\n\t\t<ACRush></ACRush>\n\t\t<Jelly></Jelly>\n\t\t<Cooly></Cooly>\n\t</Team>\n\t<JiaJia>\n\t\t<Team>\n\t\t\t<Ahyangyi></Ahyangyi>\n\t\t\t<Dragon></Dragon>\n\t\t\t<Cooly><Amber></Amber></Cooly>\n\t\t</Team>\n\t</JiaJia>\n</THU>\n<Team><Cooly></Cooly></Team>\n" ) w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "2\n2\n7\n")
def test_solve3(self): r = StringIO.StringIO( "<RADIOHEAD>\n\t<THE>\n\t\t<MUSIC>\n\t\t\t<OK></OK>\n\t\t</MUSIC>\n\t</THE>\n\t<TOURIST>\n\t\t<THE></THE>\n\t</TOURIST>\n\t<FITTER>\n\t\t<EXIT>\n\t\t\t<WALLS></WALLS>\n\t\t\t<TOURIST></TOURIST>\n\t\t</EXIT>\n\t\t<HOMESICK>\n\t\t\t<DOWN>\n\t\t\t\t<MUSIC></MUSIC>\n\t\t\t</DOWN>\n\t\t</HOMESICK>\n\t</FITTER>\n\t<UP>\n\t\t<CLIMBING></CLIMBING>\n\t</UP>\n</RADIOHEAD>\n<RADIOHEAD>\n\t<THE>\n\t\t<MUSIC>\n\t\t\t<OK></OK>\n\t\t</MUSIC>\n\t</THE>\n\t<TOURIST>\n\t\t<THE></THE>\n\t</TOURIST>\n\t<FITTER>\n\t\t<EXIT>\n\t\t\t<WALLS></WALLS>\n\t\t\t<TOURIST></TOURIST>\n\t\t</EXIT>\n\t\t<HOMESICK>\n\t\t\t<DOWN>\n\t\t\t\t<MUSIC></MUSIC>\n\t\t\t</DOWN>\n\t\t</HOMESICK>\n\t</FITTER>\n\t<UP>\n\t\t<CLIMBING></CLIMBING>\n\t</UP>\n</RADIOHEAD>\n" ) w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n1\n")
def test_solve2(self): r = StringIO.StringIO( "<RADIOHEAD>\n\t<DOWN>\n\t\t<UP>\n\t\t\t<NO>\n\t\t\t\t<KARMA></KARMA>\n\t\t\t\t<LET></LET>\n\t\t\t</NO>\n\t\t</UP>\n\t</DOWN>\n\t<FITTER>\n\t\t<POLICE></POLICE>\n\t</FITTER>\n\t<UP>\n\t\t<AIRBAG>\n\t\t\t<HAPPIER></HAPPIER>\n\t\t</AIRBAG>\n\t</UP>\n</RADIOHEAD>\n<UP>\n\t<DOWN>\n\t</DOWN>\n</UP>\n" ) w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "0\n")
def test_solve_2(self): r = StringIO.StringIO( "<THU>\n<Team>\n<ACRush></ACRush>\n<Jelly></Jelly>\n<Cooly></Cooly>\n</Team>\n<JiaJia>\n<Team>\n<Ahyangyi></Ahyangyi>\n<Dragon></Dragon>\n<Cooly><Amber></Amber></Cooly>\n</Team>\n</JiaJia>\n</THU>\n<Team><Cooly></Cooly><Dragon></Dragon></Team>" ) w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n7")
def test_solve_unordered(self): r = StringIO.StringIO( "<THU><Team><JiaJia></JiaJia><Cooly></Cooly></Team><ACRush></ACRush></THU><Team><Cooly></Cooly><JiaJia></JiaJia></Team>" ) w = StringIO.StringIO() xml_solve(r, w) self.assertEqual(w.getvalue(), "1\n2\n\n")
def test_solve_4(self): XML.position = 0 r = StringIO.StringIO( "<color><red><blue><red></red></blue><purple><green></green></purple></red></color>\n<red><blue><red></red></blue></red>" ) w = StringIO.StringIO() xml_solve(r, w) self.assertTrue(w.getvalue() == "1\n2\n")
def test_solve_2(self): XML.position = 0 r = StringIO.StringIO( "<THU><Team><ACRush></ACRush><Jelly></Jelly><Cooly></Cooly></Team><JiaJia><Team><Ahyangyi></Ahyangyi><Dragon></Dragon><Cooly><Amber></Amber></Cooly></Team></JiaJia></THU>\n<Team><Cooly></Cooly><Dragon></Dragon></Team>" ) w = StringIO.StringIO() xml_solve(r, w) self.assertTrue(w.getvalue() == "1\n7\n")
def test_solve_2 (self) : """ Tests 3 levels deep with 2 siblings """ r = StringIO.StringIO("<A><B><C><D></D><E></E></C></B></A>\n<B><C><D></D><E></E></C></B>") w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n2")
def test_solve_3 (self) : """ Finds 2 matches at different levels """ r = StringIO.StringIO("<A><B><D><E></E><F></F></D></B><C><D><E></E><F></F></D></C></A>\n<D><E></E><F></F></D>") w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "2\n3\n7")
def test_solve_1 (self) : """ Simple test case where there is a match at pos 2 """ r = StringIO.StringIO("<A><B><C></C></B></A>\n<B><C></C></B>") w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n2")
def test_solve_4(self) : r = StringIO.StringIO("""<and> <back> <and> <forth> <and> <back> </back> <forth> </forth> </and> </forth> <back> <and> <forth> </forth> <back> </back> </and> </back> </and> </back> <forth> <and> <back> <and> <back> </back> <forth> </forth> </and> </back> <forth> <and> <back> </back> <forth> </forth> </and> </forth> </and> </forth> </and> <back><and></and></back>""""") w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == """3 2 8 14 """)
def test_solve_3(self): r = StringIO.StringIO( """<THU> <Team> <ACRush></ACRush> <Jelly></Jelly> <Cooly></Cooly> </Team> </THU> <Team><ACRush></ACRush><Jelly></Jelly></Team>""" ) w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n2\n\n")
def test_solve_5 (self) : r = StringIO.StringIO(""" <T1> <T2> <T3> <T4></T4> </T3> </T2> </T1> <T2><T3><T5></T5></T3></T2> """) w = StringIO.StringIO() xml_solve(r, w) assert(w.getvalue() == "0\n")
def test_print_1 (self) : w = StringIO.StringIO() r = StringIO.StringIO("<Thu>\n<Win>\n</Win>\n</Thu>\n<Win></Win>\n") a = xml_read(r) l = xml_solve(a) xml_print(w, l) self.assert_(w.getvalue() == "1\n2\n")
def test_solve_2 (self) : r = StringIO.StringIO("<Thu>\n<Win>\n<Nokia>\n</Nokia>\n</Win>\n" + "</Thu>\n<Win><Nokia></Nokia></Win>\n") a = xml_read(r) l = xml_solve(a) self.assert_(len(l) == 1) self.assert_(l[0] == 2)
def test_solve_3 (self) : r = StringIO.StringIO("<Cards>\n<Yu>\n<Gi>\n<Oh>\n</Oh>\n</Gi>\n</Yu>" + "\n</Cards>\n<Yu><Gi><Oh></Oh></Gi></Yu>\n") a = xml_read(r) l = xml_solve(a) self.assert_(len(l) == 1) self.assert_(l[0] == 2)
def test_print_3 (self) : w = StringIO.StringIO() r = StringIO.StringIO("<Cards>\n<Yu>\n<Gi>\n<Oh>\n</Oh>\n</Gi>\n</Yu>" + "\n</Cards>\n<Yu><Gi><Oh></Oh></Gi></Yu>\n") a = xml_read(r) l = xml_solve(a) xml_print(w, l) self.assert_(w.getvalue() == "1\n2\n")
def test_solve_4 (self) : r = StringIO.StringIO("<THU>\n<Team>\n<ACRush></ACRush>\n<Jelly>" + "</Jelly>\n<Cooly></Cooly>\n</Team>\n<JiaJia>\n<Team>\n<Ahyangyi>" + "</Ahyangyi>\n<Dragon></Dragon>\n<Cooly><Amber></Amber></Cooly>\n" + "</Team>\n</JiaJia>\n</THU>\n<Team><Cooly></Cooly></Team>\n") a = xml_read(r) l = xml_solve(a) self.assert_(len(l) == 2) self.assert_(l[1] == 7)
def test_print_4 (self) : w = StringIO.StringIO() r = StringIO.StringIO("<THU>\n<Team>\n<ACRush></ACRush>\n<Jelly>" + "</Jelly>\n<Cooly></Cooly>\n</Team>\n<JiaJia>\n<Team>\n<Ahyangyi>" + "</Ahyangyi>\n<Dragon></Dragon>\n<Cooly><Amber></Amber></Cooly>\n" + "</Team>\n</JiaJia>\n</THU>\n<Team><Cooly></Cooly></Team>\n") a = xml_read(r) l = xml_solve(a) xml_print(w, l) self.assert_(w.getvalue() == "2\n2\n7\n")
def test_solve (self) : r = StringIO.StringIO(""" <THU> <Team> <ACRush></ACRush> <Jelly></Jelly> <Cooly></Cooly> </Team> <JiaJia> <Team> <Ahyangyi></Ahyangyi> <Dragon></Dragon> <Cooly><Amber></Amber></Cooly> </Team> </JiaJia> </THU> <Team><Cooly></Cooly></Team> """) w = StringIO.StringIO() xml_solve(r, w) assert(w.getvalue() == "2\n2\n7\n")
def test_solve8(self): r = io.StringIO("<cool>\n<what>\n<travel>\n</travel>\n</what>\n</cool>\n<travel></travel>") w = io.StringIO() xml_solve(r,w) self.assertTrue(w.getvalue() == "1\n3\n")
def test_solve_6(self): r = io.StringIO("<never>\n</never>\n<never></never>") w = io.StringIO() xml_solve(r,w) self.assertTrue(w.getvalue() == "1\n1\n")
def test_solve_5(self): r = io.StringIO("<cool>\n</cool>\n<no></no>") w = io.StringIO() xml_solve(r,w) self.assertTrue(w.getvalue() == "0\n")
def test_solve_3(self): r = io.StringIO("<stuff>\n<what>\n<bees>\n<junk>\n</junk>\n</bees>\n</what>\n</stuff>\n<what><junk></junk></what>") w = io.StringIO() xml_solve(r,w) self.assertTrue(w.getvalue() == "0\n")
def test_solve_1(self): r = io.StringIO('<THU><Team><ACRush></ACRush><Jelly></Jelly><Cooly></Cooly></Team><JiaJia><Team><Ahyangyi></Ahyangyi><Dragon></Dragon><Cooly><Amber></Amber></Cooly></Team></JiaJia></THU>\n<Team><Cooly></Cooly></Team>') w = io.StringIO() xml_solve(r, w) self.assertTrue(w.getvalue() == "2\n2\n7\n")
def test_solve_3(self) : r = StringIO.StringIO("<THU>\n<MONKEY>\n<RED>\n</RED>\n</MONKEY>\n</THU>\n<THU><MONKEY></MONKEY></THU>\n") w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n1\n\n")
def test_solve_1(self) : r = StringIO.StringIO("<THU>\n</THU>\n<THU></THU>\n") w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == "1\n1\n\n")
def test_solve_2(self): r = StringIO.StringIO('<Team><Cooly><Dragon></Dragon></Cooly></Team><Team><Dragon></Dragon></Team>') w = StringIO.StringIO() xml_solve(r, w) self.assert_(w.getvalue() == '0')