Changeset cfaf42
- Timestamp:
- May 26, 2008, 1:28:28 PM (17 years ago)
- Children:
- 9bfb34
- Parents:
- 8b486e
- Location:
- molecuilder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/periodentafel.cpp
r8b486e rcfaf42 148 148 while (walker->next != end) { 149 149 walker = walker->next; 150 if ( checkliste[walker->Z]) {150 if ((walker != NULL) && (walker->Z > 0) && (walker->Z < MAX_ELEMENTS) && (checkliste[walker->Z])) { 151 151 walker->No = No; 152 152 result = result && walker->Checkout(output, No++, checkliste[walker->Z]); … … 160 160 161 161 /** Loads element list from file. 162 */ 163 bool periodentafel::LoadPeriodentafel(char *filename) 162 * \param *path to to standard file names 163 */ 164 bool periodentafel::LoadPeriodentafel(char *path) 164 165 { 165 166 ifstream infile; … … 168 169 bool status = true; 169 170 bool otherstatus = true; 171 char *filename = new char[MAXSTRINGSIZE]; 170 172 171 173 // fill elements DB 172 if (filename == NULL)173 infile.open(STANDARDELEMENTSDB);174 else175 174 strncat(filename, path, MAXSTRINGSIZE); 175 strncat(filename, "/", MAXSTRINGSIZE-strlen(filename)); 176 strncpy(filename, STANDARDELEMENTSDB, MAXSTRINGSIZE-strlen(filename)); 177 infile.open(filename); 176 178 if (infile != NULL) { 177 179 infile.getline(header1, MAXSTRINGSIZE); … … 198 200 infile >> neues->VanDerWaalsRadius; 199 201 //infile >> ws; 200 periodentafel::AddElement(neues);201 202 infile >> ws; 202 203 cout << " " << neues->symbol; 203 204 //neues->Output((ofstream *)&cout); 205 if ((neues->Z > 0) && (neues->Z < MAX_ELEMENTS)) 206 periodentafel::AddElement(neues); 207 else { 208 cout << "Could not parse element: "; 209 neues->Output((ofstream *)&cout); 210 } 204 211 } 205 212 cout << endl; … … 210 217 211 218 // fill valence DB per element 212 infile.open(STANDARDVALENCEDB); 219 strncat(filename, path, MAXSTRINGSIZE); 220 strncpy(filename, STANDARDVALENCEDB, MAXSTRINGSIZE-strlen(filename)); 221 infile.open(filename); 213 222 if (infile != NULL) { 214 223 while (!infile.eof()) { … … 225 234 226 235 // fill valence DB per element 227 infile.open(STANDARDORBITALDB); 236 strncat(filename, path, MAXSTRINGSIZE); 237 strncpy(filename, STANDARDORBITALDB, MAXSTRINGSIZE-strlen(filename)); 238 infile.open(filename); 228 239 if (infile != NULL) { 229 240 while (!infile.eof()) { … … 240 251 241 252 // fill H-BondDistance DB per element 242 infile.open(STANDARDHBONDDISTANCEDB); 253 strncat(filename, path, MAXSTRINGSIZE); 254 strncpy(filename, STANDARDHBONDDISTANCEDB, MAXSTRINGSIZE-strlen(filename)); 255 infile.open(filename); 243 256 if (infile != NULL) { 244 257 while (!infile.eof()) { … … 258 271 259 272 // fill H-BondAngle DB per element 260 infile.open(STANDARDHBONDANGLEDB); 273 strncat(filename, path, MAXSTRINGSIZE); 274 strncpy(filename, STANDARDHBONDANGLEDB, MAXSTRINGSIZE-strlen(filename)); 275 infile.open(filename); 261 276 if (infile != NULL) { 262 277 while (!infile.eof()) { -
molecuilder/tests/testsuite.at
r8b486e rcfaf42 28 28 # 3. make sure config is empty and not remnant from last test with broken dirs 29 29 AT_DATA([test.conf], []) 30 AT_CHECK([../../molecuilder test.conf -e elements.db-p test.xyz], 0, [ignore], [ignore])30 AT_CHECK([../../molecuilder test.conf -e ./ -p test.xyz], 0, [ignore], [ignore]) 31 31 AT_CHECK([fgrep "Ion_Type1_1" test.conf], 0, [Ion_Type1_1 10.000000000 10.000000000 10.000000000 0 # Number in molecule 0 32 32 ], [ignore]) … … 35 35 q 36 36 ]) 37 AT_CHECK([../../molecuilder -e elements.db<input], 0, [ignore], [ignore])37 AT_CHECK([../../molecuilder -e ./ <input], 0, [ignore], [ignore]) 38 38 AT_CHECK([diff main_pcp_linux test.conf], 0, [ignore], [ignore]) 39 39 AT_CLEANUP … … 65 65 AT_DATA([test.conf], []) 66 66 # 4. create the config and check it 67 AT_CHECK([../../molecuilder test.conf -e elements.db-p test.xyz], 0, [ignore], [ignore])67 AT_CHECK([../../molecuilder test.conf -e ./ -p test.xyz], 0, [ignore], [ignore]) 68 68 AT_CHECK([fgrep "Ion_Type1_4" test.conf], 0, [Ion_Type1_4 8.532785963 4.787886018 2.645886050 0 # Number in molecule 6 69 69 ], [ignore]) 70 70 AT_CHECK([fgrep "Ion_Type2_4" test.conf], 1, [ignore], [ignore]) 71 71 # 5. fragment the molecule and check the number of configs 72 AT_CHECK([../../molecuilder test.conf -e elements.db-f 1.55 2], 0, [ignore], [ignore], [mkdir std; mv BondFragment*.conf* std/])72 AT_CHECK([../../molecuilder test.conf -e ./ -f 1.55 2], 0, [ignore], [ignore], [mkdir std; mv BondFragment*.conf* std/]) 73 73 AT_CHECK([mkdir std; mv BondFragment*.conf* std/], 0) 74 74 AT_CHECK([ls -l std/BondFragment*.conf | wc -l], 0, [5 75 75 ], [ignore]) 76 AT_CHECK([../../molecuilder test.conf -e elements.db-f 1.55 2], 0, [ignore], [ignore], [mkdir new; mv BondFragment*.conf* new/])76 AT_CHECK([../../molecuilder test.conf -e ./ -f 1.55 2], 0, [ignore], [ignore], [mkdir new; mv BondFragment*.conf* new/]) 77 77 AT_CHECK([mkdir new; mv BondFragment*.conf* new/], 0) 78 78 # 6. compare both dirs by diff'ing
Note:
See TracChangeset
for help on using the changeset viewer.