def testEmptyFileSkipLines(self): # fold>> f = io.FileReader(os.path.join(moduleDir(), "emptytestfile.txt")) self.assertEqual(f.currentPos(), -1) f.skipLines(10) self.assertEqual(f.isAtEOF(), True) f.skipLines(-10) self.assertEqual(f.isAtBOF(), True)
def testFindStringNotFound(self): # fold>> "Findstring functionality/not found case" f = io.FileReader(os.path.join(moduleDir(), "testfile.txt")) self.assertEqual(f.findString('notfound'), '') self.assertEqual(f.isAtEOF(), True) self.assertEqual(f.findString('notfound', backward=True), '') self.assertEqual(f.isAtBOF(), True)
def testIsotopicMassesToken(self): # fold>> data = filesnippets.isotopicMasses() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.IsotopicMassesToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.IsotopicMassesToken) self.assertEqual(reader.currentPos(), start_pos+8) atom_list = token.atomList() self.assertEqual(type(atom_list), type([])) self.assertEqual(len(atom_list), 4) self.assertEqual(atom_list[0][0], "O1") self.assertEqual(atom_list[0][1], "") self.assertEqual(atom_list[0][2].__class__, units.Quantity) self.assertEqual(atom_list[0][2], 15.994915 * units.dalton) self.assertEqual(atom_list[1][0], "H1") self.assertEqual(atom_list[1][1], "1") self.assertEqual(atom_list[1][2].__class__, units.Quantity ) self.assertEqual(atom_list[1][2], 1.007825 * units.dalton) self.assertEqual(atom_list[2][0], "H1") self.assertEqual(atom_list[2][1], "2") self.assertEqual(atom_list[2][2].__class__, units.Quantity ) self.assertEqual(atom_list[2][2], 1.007825 * units.dalton) self.assertEqual(atom_list[3][0], "C1") self.assertEqual(atom_list[3][1], "") self.assertEqual(atom_list[3][2].__class__, units.Quantity ) self.assertEqual(atom_list[3][2], 12.0000 * units.dalton)
def testGetItem(self): # fold>> f = io.FileReader(os.path.join(moduleDir(), "testfile.txt")) self.assertEqual(f[0], "1st line\n") self.assertEqual(f[1], "2nd line\n") self.assertEqual(f[2], "3rd line\n") f.close()
def testNormalModesEigenvaluesTokenNotMatching(self): # fold>> data = filesnippets.fileHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.NormalModesEigenvaluesToken.match(reader, []) self.assertEqual(token, None)
def testMomentsOfInertiaTokenNotMatching(self): # fold>> data = filesnippets.momentsOfInertia() writeToTestFile("\n"+data) reader = io.FileReader(testFilePath()) token = tokentypes.MomentsOfInertiaToken.match(reader, []) self.assertEqual(token, None)
def testDipoleMomentComponentsTokenNotMatching(self): # fold>> data = filesnippets.optimizationNextGeometry() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.DipoleMomentComponentsToken.match(reader, []) self.assertEqual(token, None)
def testFindStringCounted(self): # fold>> "Findstring functionality/counted search" f = io.FileReader(os.path.join(moduleDir(), "testfile.txt")) self.assertEqual(f.findString("line", 2), "2nd line\n") self.assertEqual(f.currentLine(), "2nd line\n") f.toEOF() self.assertEqual(f.findString("line", 2, backward=True), "2nd line\n") self.assertEqual(f.currentLine(), "2nd line\n")
def testCartesianCoordinatesTokenNotMatching(self): # fold>> data = filesnippets.fileHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.CartesianCoordinatesToken.match(reader, []) self.assertEqual(token, None)
def testSecondHyperpolarizabilityTokenNotMatching(self): # fold>> data = filesnippets.optimizationNextGeometry() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.SecondHyperpolarizabilityToken.match(reader, []) self.assertEqual(token, None)
def testOptimizationInfoTokenNotMatching(self): # fold>> data = filesnippets.fileHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.OptimizationInfoToken.match(reader, []) self.assertEqual(token, None)
def testRegexpCurlineNeverEvaluated(self): # fold>> f = io.FileReader(os.path.join(moduleDir(), "testfile.txt")) f.toPos(0) self.assertEqual(f.findRegexp('line'), ("2nd line\n", )) self.assertEqual(f.currentLine(), "2nd line\n") f.toPos(2) self.assertEqual(f.findRegexp('line', backward=True), ("2nd line\n", )) self.assertEqual(f.currentLine(), "2nd line\n")
def testAtomsAndBasisSetsTokenNotMatching(self): # fold>> data = filesnippets.fileHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.AtomsAndBasisSetsToken.match(reader, []) self.assertEqual(token, None)
def testFinalGeometryEnergyTokenNotMatching(self): # fold>> data = filesnippets.fileHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.FinalGeometryEnergyToken.match(reader, []) self.assertEqual(token, None)
def testRegexpBasic(self): # fold>> "Findregexp functionality/basic search" f = io.FileReader(os.path.join(moduleDir(), "testfile.txt")) self.assertEqual(f.findRegexp("3rd"), ("3rd line\n", )) self.assertEqual(f.currentLine(), "3rd line\n") f.toEOF() self.assertEqual(f.findRegexp("1st", backward=True), ("1st line\n", )) self.assertEqual(f.currentLine(), "1st line\n")
def testTotalMassTokenNotMatching(self): # fold>> data = filesnippets.totalMass() writeToTestFile("\n"+data) reader = io.FileReader(testFilePath()) token = tokentypes.TotalMassToken.match(reader, []) self.assertEqual(token, None)
def testGeometryConvergenceNumIterationsTokenNotMatching(self): # fold>> data = filesnippets.fileHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) token = tokentypes.GeometryConvergenceNumIterationsToken.match(reader, []) self.assertEqual(token, None)
def testBackwardIRCHeaderToken(self): data = filesnippets.backwardIRCHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.BackwardIRCHeaderToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.BackwardIRCHeaderToken) self.assertEqual(reader.currentPos(), start_pos + 1)
def testFindStringCurlineNeverEvaluated(self): # fold>> "Findstring functionality/curline never evaluated" f = io.FileReader(os.path.join(moduleDir(), "testfile.txt")) f.toPos(0) self.assertEqual(f.findString('line'), "2nd line\n") self.assertEqual(f.currentLine(), "2nd line\n") f.toPos(2) self.assertEqual(f.findString('line', backward=True), "2nd line\n") self.assertEqual(f.currentLine(), "2nd line\n")
def testDCReachedToken(self): data = filesnippets.DCReached() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.DCReachedToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.DCReachedToken) self.assertEqual(reader.currentPos(), start_pos + 8)
def testAtomsAndBasisSetsToken3(self): # fold>> data = filesnippets.atomsAndBasisSetsTable3() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.AtomsAndBasisSetsToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.AtomsAndBasisSetsToken)
def testNormalModesTSToken(self): data = filesnippets.normalModesTS() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.NormalModesTSToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.NormalModesTSToken) self.assertEqual(reader.currentPos(), start_pos + 3) self.assertEqual(len(token.eigenvalues()), 6)
def testMinimumPointFoundHeaderToken(self): data = filesnippets.minimumPointFoundHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.MinimumPointFoundHeaderToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.MinimumPointFoundHeaderToken) self.assertEqual(reader.currentPos(), start_pos + 1)
def testEmptyFileSeeks(self): # fold>> f = io.FileReader(os.path.join(moduleDir(), "emptytestfile.txt")) self.assertEqual(f.currentPos(), -1) self.assertEqual(f.isAtBOF(), True) f.toEOF() self.assertEqual(f.currentPos(), 0) self.assertEqual(f.isAtEOF(), True) f.toBOF() self.assertEqual(f.currentPos(), -1) self.assertEqual(f.isAtBOF(), True)
def testResponseHeaderToken(self): # fold>> data = filesnippets.responseHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.ResponseHeaderToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.ResponseHeaderToken) self.assertEqual(reader.currentPos(), start_pos+2)
def testEndOfOptimizationHeaderToken(self): # fold>> data = filesnippets.endOfOptimizationHeader() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.EndOfOptimizationHeaderToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.EndOfOptimizationHeaderToken) self.assertEqual(reader.currentPos(), start_pos+1)
def testHeaderEquilibriumToken(self): data = filesnippets.headerEquilibrium() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.HeaderEquilibriumToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.HeaderEquilibriumToken) self.assertEqual(reader.currentPos(), start_pos + 1)
def testOptimizationFinalStructureToken(self): data = filesnippets.optimizationFinalStructure() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.OptimizationFinalStructureToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.OptimizationFinalStructureToken) self.assertEqual(reader.currentPos(), start_pos + 8)
def tokenize(self, filename): reader = io.FileReader(filename) token_list = [] while not reader.isAtEOF(): token = self._tryResolveToken(reader, token_list) if token is None: reader.readline() else: token_list.append(token) yield token raise StopIteration
def testSevereErrorToken(self): # fold>> data = filesnippets.severeError() writeToTestFile(data) reader = io.FileReader(testFilePath()) start_pos = reader.currentPos() token = tokentypes.SevereErrorToken.match(reader, []) self.assertEqual(token.__class__, tokentypes.SevereErrorToken) self.assertEqual(reader.currentPos(), start_pos+5) self.assertEqual(token.reason(), "*** FNDGEO *** No acceptable step found.")