def test_Fstdc_fstrwd(self): """Fstdc_fstrwd should reset file pointer to begining of file""" (la,lo) = self.create_basefile() #wrote 2 recs in that order: la, lo f2 = rpnstd.RPNFile(self.fname) la2 = f2[rpnstd.FirstRecord] lo2 = f2[rpnstd.NextMatch] r2none = None try: r2none = f2[rpnstd.NextMatch] except: pass la3 = f2[rpnstd.RPNMeta(nom='LA')] lo3 = f2[rpnstd.RPNMeta(nom='LO')] la4 = f2[rpnstd.RPNMeta(nom='LA')] #r3none = None #try: # r3none = f2[rpnstd.FirstRecord] #except: # pass #TODO f2.rewind() #... looks like fstrwd is not needed... and return an exception! :-( r4 = f2[rpnstd.FirstRecord] f2.close() self.assertEqual(la2.nom,la.nom) self.assertEqual(lo2.nom,lo.nom) self.assertEqual(r2none,None) #self.assertEqual(r3none,None) self.assertEqual(la3.nom,la.nom) self.assertEqual(lo3.nom,lo.nom) self.assertEqual(la4.nom,la.nom) self.assertEqual(r4.nom,la.nom) self.erase_testfile()
def create_basefile(self): """create a basic test file for RPNFile tests""" #print("============ Create Base File ===============") self.erase_testfile() f = rpnstd.RPNFile(self.fname) (ig1, ig2, ig3, ig4) = rpnstd.cxgaig(self.grtyp, self.xg14) r0 = rpnstd.RPNMeta() r0.update(r0.defaultKeysVals()) r0m = rpnstd.RPNMeta(r0, nom='LA', type='C', ni=self.lad.shape[0], nj=self.lad.shape[1], nk=1, grtyp=self.grtyp, ig1=ig1, ig2=ig2, ig3=ig3, ig4=ig4) self.la = rpnstd.RPNRec(data=self.lad, meta=r0m) r0m.nom = 'LO' self.lo = rpnstd.RPNRec(data=self.lod, meta=r0m) f.write(self.la) f.write(self.lo) f.close() return (self.la, self.lo)
def gridZL(self,dlalo=0.5,nij=10): """provide grid and rec values for other tests""" (g1,la1,lo1) = self.gridL(dlalo,nij) x_axis_d = lo1[:,0].reshape((lo1.shape[0],1)).copy('FORTRAN') y_axis_d = la1[0,:].reshape((1,la1.shape[1])).copy('FORTRAN') grtyp='L' la0 = 0. lo0 = 180. ig14 = (ig1,ig2,ig3,ig4) = rpnstd.cxgaig(grtyp,0.,0.,1.,1.) ip134 = (1,2,1,1) g1.ig14 = ig14 x_axis = rpnstd.RPNRec(x_axis_d,rpnstd.RPNMeta()) y_axis = rpnstd.RPNRec(y_axis_d,rpnstd.RPNMeta()) grid = rpnstd.RPNGrid(grtyp='Z',ig14=ip134,shape=(nij,nij),g_ref=g1,xyaxis=(x_axis,y_axis)) return (grid,la1,lo1)
def test_RPNMeta_Error(self): """RPNMeta should raise exception on known error cases""" self.assertRaises(TypeError, rpnstd.RPNMeta, 'not a valid argument') a = rpnstd.RPNMeta() #self.assertRaises(ValueError, a.getaxis()) try: axis = a.getaxis() except ValueError: self.assertFalse(False) else: self.assertFalse(True) a.grtyp = 'Z' #self.assertRaises(TypeError, a.getaxis()) try: axis = a.getaxis() except TypeError: self.assertFalse(False) else: self.assertFalse(True)