def testgetCommonData_01(self):
		testXML = """
			<Common>
				<ExternalLinks>
					 <li href="https://en.wikipedia.org/wiki/Iraq_war">Wikipedia</li>
				</ExternalLinks>
				<Images>
					<li  embed="https://upload.wikimedia.org/wikipedia/commons/2/2e/Iraq_War_montage.png" />
				</Images>
			</Common>
		"""

		# Remove tabs and newlines from testXML
		testXML = " ".join(testXML.split())

		tree = ET.fromstring(testXML)
		it = tree.iter()
		e = it.next()
		nextElement, treeIter, d = getCommonData(e, it)
		self.assert_(len(d) == 7)
		self.assert_(len(d["ExternalLinks"]) == 1)
		self.assert_( d["ExternalLinks"][0]["href"] == "https://en.wikipedia.org/wiki/Iraq_war" )
		self.assert_( d["Images"][0]["embed"] == "https://upload.wikimedia.org/wikipedia/commons/2/2e/Iraq_War_montage.png" )


		try:
			it.next()
			raise Exception("StopIteration exception should have been raised!")
		except StopIteration as e:
			pass
	def testGetCommonData_04(self) :
		testXML = """
			<Common>
				<Citations>
					<li href="href for Citations" />
					<li embed="embed for Citations">text inside embed</li>
				</Citations>
				<Videos>
					<li  embed="embed for Videos" />
				</Videos>
			</Common>
			"""
		testXML = " ".join(testXML.split())
		tree = ET.fromstring(testXML)
		treeIter = tree.iter()
		nextElement = treeIter.next()
		data = {}
		self.assert_(nextElement.tag == "Common")
		nextElement, treeIter, data = getCommonData(nextElement, treeIter)
		self.assert_(data == {'Videos': [{'embed': 'embed for Videos'}], 'Summary': [], 'Maps': [], 'Citations': [{'href': 'href for Citations'}, {'content': 'text inside embed', 'embed': 'embed for Citations'}], 'ExternalLinks': [], 'Images': [], 'Feeds': []})
		self.assert_(isinstance(data, dict))
		self.assert_(data.has_key('Videos'))
		self.assert_(data.has_key('Citations'))
		self.assert_(data.get('Citations') == [{'href': 'href for Citations'}, {'content': 'text inside embed', 'embed': 'embed for Citations'}])
		self.assert_(data.get('Citations')[0] == {'href': 'href for Citations'})
		self.assert_(data.get('Citations')[1] == {'content': 'text inside embed', 'embed': 'embed for Citations'})
		self.assert_(data.get('Videos') == [{'embed': 'embed for Videos'}])
	def testgetCommonData_03(self):
		testXML = """
			<Common>
				<ExternalLinks>
					<li href="http://www.fema.gov/">Official Website</li>
					<li embed="http://www.cdc.gov/">Official Website</li>
				</ExternalLinks>
				<Images>
					<li  embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" />
				</Images>
				<Videos>
					<li  embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" />
				</Videos>
				<Maps>
					<li  embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" />
				</Maps>
				<Feeds>
					<li  embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" />
				</Feeds>
				<Summary>
					hello
				</Summary>
			</Common>
		"""

		# Remove tabs and newlines from testXML
		testXML = " ".join(testXML.split())

		tree = ET.fromstring(testXML)
		it = tree.iter()
		e = it.next()
		nextElement, treeIter, d = getCommonData(e, it)
		self.assert_(len(d) == 7)
		self.assert_(len(d["ExternalLinks"]) == 2)
		self.assert_( d["ExternalLinks"][0]["href"] == "http://www.fema.gov/" )
		self.assert_( d["ExternalLinks"][1]["embed"] == "http://www.cdc.gov/" )
		self.assert_( d["Images"][0]["embed"] == "https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" )
		self.assert_( d["Maps"][0]["embed"] == "https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" )
		self.assert_( d["Summary"] == " hello " )


		try:
			it.next()
			raise Exception("StopIteration exception should have been raised!")
		except StopIteration as e:
			pass
	def testGetCommonData_05(self) :
		testXML = """
			<Common>
				<ExternalLinks>
					 <li href="https://en.wikipedia.org/wiki/Osama_Bin_Laden">Wikipedia</li>
				</ExternalLinks>
				<Images>
					<li  embed="https://upload.wikimedia.org/wikipedia/commons/c/ca/Osama_bin_Laden_portrait.jpg" />
				</Images>
			</Common>
			""" 
		testXML = " ".join(testXML.split())
		tree = ET.fromstring(testXML)
		treeIter = tree.iter()
		nextElement = treeIter.next()
		data = {}
		self.assert_(nextElement.tag == "Common")
		nextElement, treeIter, data = getCommonData(nextElement, treeIter)
		self.assert_(data == {'Videos': [], 'Summary': [], 'Maps': [], 'Citations': [], 'ExternalLinks': [{'content': 'Wikipedia', 'href': 'https://en.wikipedia.org/wiki/Osama_Bin_Laden'}], 'Images': [{'embed': 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Osama_bin_Laden_portrait.jpg'}], 'Feeds': []})
		self.assert_(isinstance(data.get('ExternalLinks'), list))
		self.assert_(isinstance(data.get('ExternalLinks')[0], dict))
		self.assert_(data.has_key('ExternalLinks'))
		self.assert_((data.get('ExternalLinks'))[0].get('content') == "Wikipedia")
	def testgetCommonData_02(self):
		testXML = """
			<Common>
				<Citations>
					 <li href="http://iava.org/">Official Website</li>
					 <li  embed="http://patrickstjohn.org/images/iava-logo.jpg" />
				</Citations>
				<Images>
					<li  embed="http://patrickstjohn.org/images/iava-logo.jpg" />
				</Images>
				<Summary>
					It's an organization.
				</Summary>
			</Common>
		"""

		# Remove tabs and newlines from testXML
		testXML = " ".join(testXML.split())

		tree = ET.fromstring(testXML)
		it = tree.iter()
		e = it.next()
		nextElement, treeIter, d = getCommonData(e, it)
		self.assert_(len(d) == 7)
		self.assert_(len(d["Citations"]) == 2)
		self.assert_( d["Citations"][0]["href"] == "http://iava.org/" )
		self.assert_( d["Citations"][1]["embed"] == "http://patrickstjohn.org/images/iava-logo.jpg" )
		self.assert_( d["Citations"][0]["content"] == "Official Website" )
		self.assert_( d["Images"][0]["embed"] == "http://patrickstjohn.org/images/iava-logo.jpg" )
		self.assert_( d["Summary"] == " It's an organization. " )


		try:
			it.next()
			raise Exception("StopIteration exception should have been raised!")
		except StopIteration as e:
			pass