def testAddUCellGeomAndAllBasisInfoTwoElementTestA(self):
		""" Check we can use basis sets from multiple files. NOTE: CP2K restricts the use of pseudopotentials to those from only ONE file """
		self.testBasisInfoB.basisFile= "fake_second_basis_file"
		tCode.addGeomAndBasisInfoToSimpleCP2KObj(self.startCP2KObj, self.testUCellA, [self.testBasisInfoA,self.testBasisInfoB])
		actStr = self.startCP2KObj.get_input_string()
		expStr = _loadExpectedOutputAddBasisAndGeomTwoAtomTestA()
		self.assertEqual( sorted(expStr), sorted(actStr) )
	def _createBaseCP2KObj(self, basisKeyDict):
		basicObj = self._createBasicObject()
		basisObjects = self._getBasisObjects(basisKeyDict)

		pyCP2KHelp.modCp2kObjBasedOnDict(basicObj, {"kpts":self.kPts, "charge":self.charge} )
		pyCP2KHelp.addGeomAndBasisInfoToSimpleCP2KObj(basicObj, self.geom, basisObjects)
		baseCP2KObj = baseCalcObjCP2K.CP2KCalcObj( basicObj )
		baseCP2KObj.maxScf = self.maxScf
		return baseCP2KObj	
	def testAddUCellGeomAndAllBasisInfoTwoElementsThrowsErrorForMultiplePotFile(self):
		self.testBasisInfoA.potFile = "something"
		self.testBasisInfoB.potFile = "different"
		with self.assertRaises(AssertionError):
			tCode.addGeomAndBasisInfoToSimpleCP2KObj(self.startCP2KObj, self.testUCellA, [self.testBasisInfoA,self.testBasisInfoB])
	def testAddUCellGeomAndAllBasisInfoSingleAtomTestA_ghostAtom(self):
		self.testBasisInfoA.ghost = True
		tCode.addGeomAndBasisInfoToSimpleCP2KObj(self.startCP2KObj, self.testUCellA, [self.testBasisInfoA])
		actStr = self.startCP2KObj.get_input_string()
		expStr = _loadExpectedOutputGhostAtom_a()
		self.assertEqual(sorted(expStr), sorted(actStr))