Beispiel #1
0
 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")
Beispiel #2
0
 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")
Beispiel #7
0
 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")
Beispiel #23
0
 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")
Beispiel #24
0
 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")
Beispiel #25
0
 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")
Beispiel #26
0
 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")
Beispiel #27
0
 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')