Changeset 7772 for trunk/anuga_core/source/anuga/file/test_csv.py
- Timestamp:
- Jun 3, 2010, 12:45:54 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/anuga_core/source/anuga/file/test_csv.py
r7762 r7772 4 4 import numpy as num 5 5 6 from csv_file import load_csv_as_array, load_csv_as_dict 7 6 from csv_file import load_csv_as_array, load_csv_as_dict, store_parameters, \ 7 load_csv_as_matrix 8 8 9 9 class Test_csv(unittest.TestCase): … … 13 13 def tearDown(self): 14 14 pass 15 16 def _create_csv_file(self): 17 """ 18 Create a dummy csv file. 19 Return its filename. 20 """ 21 filename = tempfile.mktemp(".txt") 22 file = open(filename,"w") 23 file.write("elevation, stage\n\ 24 1.0, 3 \n\ 25 0.0, 4 \n\ 26 4.0, 3 \n\ 27 1.0, 6 \n") 28 file.close() 29 return filename 15 30 16 31 def test_get_data_from_file1(self): 17 fileName = tempfile.mktemp(".txt") 18 # print"filename",fileName 19 file = open(fileName,"w") 20 file.write("elevation stage\n\ 21 1.3 3 \n\ 22 0.0 4 \n\ 23 4.5 3.5 \n\ 24 1.0 6 \n") 25 file.close() 26 27 x = load_csv_as_array(fileName, delimiter=' ') 28 29 # header, x = load_csv_as_array(fileName, delimiter=' ') 30 os.remove(fileName) 31 32 assert num.allclose(x['elevation'], [1.3, 0.0,4.5, 1.0]) 33 assert num.allclose(x['stage'], [3.0, 4.0,3.5, 6.0]) 34 32 filename = self._create_csv_file() 33 34 x = load_csv_as_array(filename) 35 36 os.remove(filename) 37 38 assert num.allclose(x['elevation'], [1.0, 0.0, 4.0, 1.0]) 39 assert num.allclose(x['stage'], [3.0, 4.0, 3.0, 6.0]) 40 41 42 def test_get_data_from_file(self): 43 filename = self._create_csv_file() 44 45 header,x = load_csv_as_matrix(filename) 46 os.remove(filename) 47 48 assert num.allclose(x[:,0], [1.0, 0.0,4.0, 1.0]) 49 50 51 def test_store_parameters(self): 52 """tests store temporary file 53 """ 54 55 from os import sep, getenv 56 57 output_dir='' 58 file_name='details.csv' 59 60 kwargs = {'file_name':'new2.txt', 61 'output_dir':output_dir, 62 'file_name':file_name, 63 'who':'me', 64 'what':'detail', 65 'how':2, 66 'why':241, 67 # 'completed':345 68 } 69 store_parameters(verbose=False,**kwargs) 70 71 temp='detail_temp.csv' 72 fid = open(temp) 73 file_header = fid.readline() 74 file_line = fid.readline() 75 fid.close() 76 77 78 keys = kwargs.keys() 79 keys.sort() 80 line='' 81 header='' 82 count=0 83 #used the sorted keys to create the header and line data 84 for k in keys: 85 # print "%s = %s" %(k, kwargs[k]) 86 header = header+str(k) 87 line = line+str(kwargs[k]) 88 count+=1 89 if count <len(kwargs): 90 header = header+',' 91 line = line+',' 92 header+='\n' 93 line+='\n' 94 95 96 #file exists 97 assert os.access(temp, os.F_OK) 98 assert header == file_header 99 assert line == file_line 100 101 os.remove(temp) 102 103 def test_store_parameters1(self): 104 """tests store in temporary file and other file 105 """ 106 107 from os import sep, getenv 108 109 output_dir='' 110 file_name='details.csv' 111 112 kwargs = {'file_name':'new2.txt', 113 'output_dir':output_dir, 114 'file_name':file_name, 115 'who':'me', 116 'what':'detail', 117 'how':2, 118 'why':241, 119 # 'completed':345 120 } 121 store_parameters(verbose=False,**kwargs) 122 123 kwargs['how']=55 124 kwargs['completed']=345 125 126 keys = kwargs.keys() 127 keys.sort() 128 line='' 129 header='' 130 count=0 131 #used the sorted keys to create the header and line data 132 for k in keys: 133 # print "%s = %s" %(k, kwargs[k]) 134 header = header+str(k) 135 line = line+str(kwargs[k]) 136 count+=1 137 if count <len(kwargs): 138 header = header+',' 139 line = line+',' 140 header+='\n' 141 line+='\n' 142 143 kwargs['how']=55 144 kwargs['completed']=345 145 146 store_parameters(verbose=False,**kwargs) 147 148 # temp='detail_temp.csv' 149 fid = open(file_name) 150 file_header = fid.readline() 151 file_line1 = fid.readline() 152 file_line2 = fid.readline() 153 fid.close() 154 155 156 #file exists 157 # print 'header',header,'line',line 158 # print 'file_header',file_header,'file_line1',file_line1,'file_line2',file_line2 159 assert os.access(file_name, os.F_OK) 160 assert header == file_header 161 assert line == file_line1 162 163 temp='detail_temp.csv' 164 os.remove(temp) 165 os.remove(file_name) 166 167 def test_store_parameters2(self): 168 """tests appending the data to the end of an existing file 169 """ 170 171 from os import sep, getenv 172 173 output_dir='' 174 file_name='details.csv' 175 176 kwargs = {'file_name':'new2.txt', 177 'output_dir':output_dir, 178 'file_name':file_name, 179 'who':'me', 180 'what':'detail', 181 'how':2, 182 'why':241, 183 'completed':345 184 } 185 store_parameters(verbose=False,**kwargs) 186 187 kwargs['how']=55 188 kwargs['completed']=23.54532 189 190 store_parameters(verbose=False,**kwargs) 191 192 keys = kwargs.keys() 193 keys.sort() 194 line='' 195 header='' 196 count=0 197 #used the sorted keys to create the header and line data 198 for k in keys: 199 # print "%s = %s" %(k, kwargs[k]) 200 header = header+str(k) 201 line = line+str(kwargs[k]) 202 count+=1 203 if count <len(kwargs): 204 header = header+',' 205 line = line+',' 206 header+='\n' 207 line+='\n' 208 209 fid = open(file_name) 210 file_header = fid.readline() 211 file_line1 = fid.readline() 212 file_line2 = fid.readline() 213 fid.close() 214 215 assert os.access(file_name, os.F_OK) 216 assert header == file_header 217 assert line == file_line2 218 219 os.remove(file_name) 220 221 222 35 223 36 224 #################################################################################
Note: See TracChangeset
for help on using the changeset viewer.