From 0905d24ec78205e1df24a356e5c0fecffe21b520 Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Fri, 21 May 2021 08:56:50 -0600 Subject: [PATCH 1/2] close reading of input files --- SourceCode/HAMS_Prog.f90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SourceCode/HAMS_Prog.f90 b/SourceCode/HAMS_Prog.f90 index 14cd76f..1da886c 100644 --- a/SourceCode/HAMS_Prog.f90 +++ b/SourceCode/HAMS_Prog.f90 @@ -197,6 +197,10 @@ subroutine Exec() CALL ReadHydroStatic CALL CalNormals(IRSP) + + DO MD1=1,5 + CLOSE(MD1) + ENDDO write(*,*) ' Number of geometrial symmetries:',ISYS write(*,*) ' Number of panels on the hull: ',NELEM From 680344ed7efc0a5278f3b1222e8b000535a3bb25 Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Fri, 21 May 2021 08:57:00 -0600 Subject: [PATCH 2/2] more robust testing --- CertTest/test_cert.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/CertTest/test_cert.py b/CertTest/test_cert.py index c12ca73..c7f4154 100644 --- a/CertTest/test_cert.py +++ b/CertTest/test_cert.py @@ -1,7 +1,6 @@ import unittest import os import glob -import csv def isfloat(instr): try: @@ -34,24 +33,29 @@ def testAll(self): # Load file contents into lists truth_file = os.path.join(truth_dir, ifile) with open(truth_file) as f: - truth_data = list( csv.reader(f, delimiter=' ') ) + truth_data = list( f.read().splitlines() ) actual_file = os.path.join(actual_dir, ifile) with open(actual_file) as f: - actual_data = list( csv.reader(f, delimiter=' ') ) + actual_data = list( f.read().splitlines() ) # Print progress print(f'... now testing {truth_file}') # Loop over all file contents and compare one value at a time for iline in range(len(truth_data)): - for ikey in range(len(truth_data[iline])): - if isfloat(truth_data[iline][ikey]): - truth_float = float( truth_data[iline][ikey] ) - actual_float = float( actual_data[iline][ikey] ) + truth_tok = truth_data[iline].split() + actual_tok = actual_data[iline].split() + for ikey in range(len(truth_tok)): + if isfloat(truth_tok[ikey]) and isfloat(actual_tok[ikey]): + truth_float = float( truth_tok[ikey] ) + actual_float = float( actual_tok[ikey] ) self.assertAlmostEqual(truth_float, actual_float, 4) + elif ( (isfloat(truth_tok[ikey]) and not isfloat(actual_tok[ikey])) or + (not isfloat(truth_tok[ikey]) and isfloat(actual_tok[ikey])) ): + breakpoint() else: - self.assertEqual(truth_data[iline][ikey], actual_data[iline][ikey]) + self.assertEqual(truth_tok[ikey], actual_tok[ikey]) # Change back to starting point os.chdir(start_dir)