def testEmptyFileSkipLines(self): # fold>> f = FileReader.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 = FileReader.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 testRegexpCounted(self): # fold>> "Findregexp functionality/counted search" f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) self.assertEqual(f.findRegexp("line", 2), ("2nd line\n",)) self.assertEqual(f.currentLine(), "2nd line\n") f.toEOF() self.assertEqual(f.findRegexp("line", 2, backward=True), ("2nd line\n",)) self.assertEqual(f.currentLine(),"2nd line\n")
def testRegexpCurlineNeverEvaluated(self): # fold>> f = FileReader.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 testGetItem(self): # fold>> f = FileReader.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 testRegexpBasic(self): # fold>> "Findregexp functionality/basic search" f = FileReader.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 testFindStringCurlineNeverEvaluated(self): # fold>> "Findstring functionality/curline never evaluated" f = FileReader.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 testHeaderTransitionToken(self): # fold>> data = FileSnippets.headerTransition() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.HeaderTransitionToken.match(reader) self.assertEqual(token.__class__, Tokens.HeaderTransitionToken) self.assertEqual(reader.currentPos(), start_pos + 1)
def tokenize(self,filename): reader = FileReader.FileReader(filename) token_list = [] while not reader.isAtEOF(): token = self._resolveNextToken(reader) if token is None: reader.readline() else: token_list.append(token) return token_list
def testParseSymmetrySection(self): # fold>> filename = os.path.join(moduleDir(), "HSO2POEtg3.zmat") f = FileReader.FileReader(filename) sym = ZMatrix._parseSymmetrySection(f) valid_data = ['X', 'Z'] self.assertEqual(len(sym), len(valid_data)) for index in xrange(len(sym)): self.assertEqual(sym[index], valid_data[index]) f.close()
def testEmptyFileSeeks(self): # fold>> f = FileReader.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 testZPVEToken(self): # fold>> data = FileSnippets.zpve() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.ZPVEToken.match(reader) self.assertEqual(token.__class__, Tokens.ZPVEToken) self.assertEqual(reader.currentPos(), start_pos + 1) self.assertAlmostEqual(token.zpve().value(), 0.074920061481)
def testGeometryToken(self): # fold>> data = FileSnippets.geometry() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.GeometryToken.match(reader) self.assertEqual(token.__class__, Tokens.GeometryToken) self.assertEqual(reader.currentPos(), start_pos + 9) self.assertEqual(len(token.atomList()), 9)
def testEnergyToken(self): # fold>> data = FileSnippets.energy() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.EnergyToken.match(reader) self.assertEqual(token.__class__, Tokens.EnergyToken) self.assertEqual(reader.currentPos(), start_pos + 1) self.assertAlmostEqual(token.energy().value(), -153.869550889154)
def testNormalModesToken(self): # fold>> data = FileSnippets.normalModes() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.NormalModesToken.match(reader) self.assertEqual(token.__class__, Tokens.NormalModesToken) self.assertEqual(reader.currentPos(), start_pos + 5) self.assertEqual(len(token.eigenvalues()), 20)
def testSkipLines(self): # fold>> "Seeking with relative jumps" f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) self.assertEqual( f.currentPos(), -1) f.skipLines(3) self.assertEqual( f.currentPos(), 2) f.skipLines(-1) self.assertEqual( f.currentPos(), 1) f.skipLines(10) self.assertEqual( f.isAtEOF(), True) f.skipLines(-10) self.assertEqual( f.isAtBOF(), True)
def testConnectionToken(self): # fold>> data = FileSnippets.connection() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.ConnectionToken.match(reader) self.assertEqual(token.__class__, Tokens.ConnectionToken) self.assertEqual(reader.currentPos(), start_pos + 1) self.assertEqual(token.first(), "0") self.assertEqual(token.second(), "DC")
def testFileReadlineBackward(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) f.toEOF() l = f.readbackline() self.assertEqual(l,"3rd line\n") l = f.readbackline() self.assertEqual(l,"2nd line\n") l = f.readbackline() self.assertEqual(l,"1st line\n") # now the pointer is at begin of file self.assertEqual(f.readbackline(), '')
def testFileReadLine(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) l = f.readline() self.assertEqual(l,"1st line\n") l = f.readline() self.assertEqual(l,"2nd line\n") l = f.readline() self.assertEqual(l,"3rd line\n") # now the pointer is at end of file self.assertEqual(f.readline(), '') f.close()
def testOccurrences(self): # fold>> "Seeking with relative jumps" f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) f.skipLines(1) self.assertEqual(f.isAtPos(0), True) self.assertEqual(f.occurrences('line'), [1, 2]) self.assertEqual(f.isAtPos(0), True) f.skipLines(2) self.assertEqual(f.isAtPos(2), True) self.assertEqual(f.occurrences('line', backward=True),[1, 0]) self.assertEqual(f.isAtPos(2), True) f.toBOF() self.assertEqual(f.occurrences('not found'), [])
def testStructureHeaderToken(self): # fold>> data = FileSnippets.structureHeader() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.StructureHeaderToken.match(reader) self.assertEqual(token.__class__, Tokens.StructureHeaderToken) self.assertEqual(reader.currentPos(), start_pos + 1) self.assertEqual(token.type(), "DC") self.assertEqual(token.number(), 1) self.assertEqual(token.symmetry(), "C1")
def testCommandDirectiveToken(self): # fold>> data = FileSnippets.commandDirective() writeToTestFile(data) reader = FileReader.FileReader(testFilePath()) start_pos = reader.currentPos() token = Tokens.CommandDirectiveToken.match(reader) self.assertEqual(token.__class__, Tokens.CommandDirectiveToken) self.assertEqual(reader.currentPos(), start_pos+1) self.assertEqual(token.commandLine(), "grrm/RHF/6-31+G*") self.assertEqual(token.jobString(), "grrm") self.assertEqual(token.methodString(), "RHF") self.assertEqual(token.basisSetString(), "6-31+G*")
def testEmptyFileGetItemOutOfBounds(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"emptytestfile.txt")) # move at BOF with big negative num self.assertEqual(f[-999999], '') self.assertEqual(f.isAtBOF(),True) # move at EOF with big positive num self.assertEqual(f[9999999], '') self.assertEqual(f.isAtEOF(),True) # move at BOF with -1 self.assertEqual(f[-1], '') self.assertEqual(f.isAtBOF(),True) # move at EOF with len self.assertEqual(f[len(f)], '') self.assertEqual(f.isAtEOF(),True)
def testCurrentPos(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) self.assertEqual(f.currentPos(),-1) f[1] self.assertEqual(f.currentPos(),1)
def testCurrentLine(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) self.assertEqual(f.currentLine(), '') f[1] # now we're at line 1 self.assertEqual(f.currentLine(),"2nd line\n")
def testGetItemCurrentPos(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) l = f[2] self.assertEqual(f.currentPos(), 2)
def testLen(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"testfile.txt")) self.assertEqual(len(f),3) f.close()
def testEmptyFileRegexpNotFound(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"emptytestfile.txt")) self.assertEqual(f.findRegexp('notfound'),None) self.assertEqual(f.isAtEOF(), True) self.assertEqual(f.findRegexp('notfound', backward=True), None) self.assertEqual(f.isAtBOF(), True)
def testEmptyFileOccurrences(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"emptytestfile.txt")) self.assertEqual(f.occurrences('not found'), [])
def testEmptyFileCurrentPos(self): # fold>> f = FileReader.FileReader(os.path.join(moduleDir(),"emptytestfile.txt")) self.assertEqual(f.currentPos(), -1)