示例#1
0
    def test_creationOfLastDirectoryOfPropertyOUT_DIR(self):
        self.reader = tools.Reader("lastOUT_DIRFolderWrongConfigFile.txt")
        self.assertTrue(os.path.isdir(self.reader.get("OUT_DIR")))

        with self.assertRaises(tools.ReaderError) as error:
            tools.Reader("OUT_DIRWrongConfigFile.txt")

        self.assertEqual(error.exception.message, "OUT_DIR does not exist.")
示例#2
0
    def test_commentingWorks(self):
        with self.assertRaises(tools.ReaderError) as error:
            tools.Reader("emptyFile.txt")

        with self.assertRaises(tools.ReaderError) as sameError:
            tools.Reader("commentFile.txt")

        # Empty file is gives the same error as a commented legit file
        self.assertEqual(error.exception.message, sameError.exception.message)
        self.assertEqual(error.exception.expression,
                         sameError.exception.expression)
示例#3
0
    def test_parameterExistence(self):
        # All parameters are declared for this file
        self.assertTrue(
            assertDoNotRaise(lambda x: tools.Reader(x),
                             "correctConfigFile.txt"))

        self.configFile = open(self.configFile.name, 'a')
        self.configFile.write("\n")
        self.configFile.write("ABBBA =  ABBBA\n")
        self.configFile.close()
        with self.assertRaises(tools.ReaderError) as error:
            tools.Reader("correctConfigFile.txt")

        self.assertEqual(error.exception.message,
                         "Property is not poorly defined or not necessary")
        self.assertEqual(error.exception.expression, "ABBBA")
示例#4
0
    def test_correctDelimiter(self):
        with self.assertRaises(tools.ReaderError) as error:
            tools.Reader("doesExist.txt", "|")

        with self.assertRaises(tools.ReaderError) as notError:
            tools.Reader("doesExist.txt", "+")

        self.assertEqual(
            error.exception.message,
            "This symbol cannot serve as a delimiter for the Reader object")
        self.assertEqual(error.exception.expression, "|")

        self.assertNotEqual(
            notError.exception.message,
            "This symbol cannot serve as a delimiter for the Reader object")
        self.assertNotEqual(notError.exception.expression, "+")
示例#5
0
    def test_configFileExist(self):
        with self.assertRaises(tools.ReaderError) as error:
            tools.Reader("doesNotExist.txt")

        with self.assertRaises(tools.ReaderError) as notError:
            tools.Reader("doesExist.txt")

        self.assertEqual(
            error.exception.message,
            "Configuration file does not exist or wrongly specified")
        self.assertEqual(error.exception.expression, "doesNotExist.txt")

        self.assertNotEqual(
            notError.exception.message,
            "Configuration file does not exist or wrongly specified")
        self.assertNotEqual(notError.exception.expression, "doesExist.txt")
示例#6
0
    def test_parameterDeclaration(self):
        self.configFile = open(self.configFile.name, 'a')
        self.configFile.write("\n")
        self.configFile.write("\n")
        self.configFile.close()

        # Empty strings appended at the end are ignored and do not raise any errors
        self.assertTrue(
            assertDoNotRaise(lambda x: tools.Reader(x),
                             "correctConfigFile.txt"))

        self.configFile = open(self.configFile.name, 'a')
        self.configFile.write("\n")
        self.configFile.write("ABBBA\n")
        self.configFile.close()
        with self.assertRaises(tools.ReaderError) as error:
            tools.Reader("correctConfigFile.txt")

        self.assertEqual(error.exception.message,
                         "Line could not be read from file")
        self.assertEqual(error.exception.expression, "ABBBA")
示例#7
0
    def setUp(self):
        self.configFile = open("correctConfigFile.txt", 'w')
        self.configFile.write(
            "OUT_DIR = C:\\Users\yeves\\OneDrive - lafayette.edu\\School Documents\\Competition, Research Documents\\SummerResearch2020\\data\n"
        )
        self.configFile.write(
            "BASE_DIR = C:\\Users\\yeves\\OneDrive - lafayette.edu\\School Documents\\Competition, Research Documents\\SummerResearch2020\\sample\n"
        )
        self.configFile.write(
            "DATA_EMPTY = 135958\\Oscilloscope\\voltageDataScopeRun20210131135958(1)CollectionKind0.csv\n"
        )
        self.configFile.write("DATA_ACTUAL = 140159\\Oscilloscope\n")
        self.configFile.write("DESCRIPTION = Empty Dirty Coil Form\n")
        self.configFile.write(
            "M_G_FACTOR_FILE = MCoil\\20200317110751gfactors.csv\n")
        self.configFile.write(
            "H_G_FACTOR_FILE = HCoil\\20200317110751gfactors.csv\n")
        self.configFile.write("CUTOFF_FREQ = 4000000\n")
        self.configFile.write("KNOWN_FREQ = 0\n")
        self.configFile.write("M_OVER_H_REAL_SUB = 0\n")
        self.configFile.write("M_OVER_H_IMAG_SUB = 0\n")
        self.configFile.write("M_OVER_H_CALIB = 0\n")
        self.configFile.write("PM_PH_DIFF_PHASE_ADJ = 0\n")
        self.configFile.write("M_OVER_H0_SUB = 0\n")
        self.configFile.write("H_PHASE_REAL_SUB = 0\n")
        self.configFile.write("H_PHASE_IMAG_SUB = 0\n")
        self.configFile.write("V_H_OFFSET = 30\n")
        self.configFile.write("NUM_PERIOD = 2\n")
        self.configFile.write("BEGIN_TIME = 0\n")
        self.configFile.write("POLARITY = 1.00\n")
        self.configFile.write("WITH_EMPTY = TRUE\n")
        self.configFile.write("NON_LINEAR_SUB = TRUE\n")
        self.configFile.write("TEMP_DIR = 140159\\Opsens\n")
        self.configFile.write("TIME_DIR = 140159\\Time\n")
        self.configFile.write("READ_TIME = TRUE\n")
        self.configFile.write("H_MIN = 20\n")
        self.configFile.write("H_MAX = 60\n")
        self.configFile.write(
            "LEGEND = TEMPERATURE | m_max | osc_time | run_num\n")
        self.configFile.write(
            "PLOT = H_INT_RECONSTRUCTED_REAL_LIST:M_INT_RECONSTRUCTED_REAL_LIST \n"
        )
        self.configFile.write("PLOT_LABEL = H (kA/m):M (kA/m)\n")
        self.configFile.write(
            "PROPERTY_PLOT = TEMPERATURE:HC | INTEGRAL:HC | temperature:osc_time\n"
        )
        self.configFile.write(
            "PROPERTY_PLOT_LABEL = Temperature(degC):Hc(T) | integral:Hc(T) | Temperature(degC):Time(sec)\n"
        )
        self.configFile.close()

        self.configFile = open("correctAnotherConfigFile.txt", 'w')
        self.configFile.write(
            "OUT_DIR = C:\\Users\yeves\\OneDrive - lafayette.edu\\School Documents\\Competition, Research Documents\\SummerResearch2020\\data\n"
        )
        self.configFile.write(
            "BASE_DIR = C:\\Users\\yeves\\OneDrive - lafayette.edu\\School Documents\\Competition, Research Documents\\SummerResearch2020\\sample\n"
        )
        self.configFile.write(
            "DATA_EMPTY = 135958\\Oscilloscope\\voltageDataScopeRun20210131135958(1)CollectionKind0.csv\n"
        )
        self.configFile.write("DATA_ACTUAL = 140159\\Oscilloscope\n")
        self.configFile.write("DESCRIPTION = Empty Dirty Coil Form\n")
        self.configFile.write(
            "M_G_FACTOR_FILE = MCoil\\20200317110751gfactors.csv\n")
        self.configFile.write(
            "H_G_FACTOR_FILE = HCoil\\20200317110751gfactors.csv\n")
        self.configFile.write("CUTOFF_FREQ = 4000000\n")
        self.configFile.write("KNOWN_FREQ = 0\n")
        self.configFile.write("M_OVER_H_REAL_SUB = 0\n")
        self.configFile.write("M_OVER_H_IMAG_SUB = 0\n")
        self.configFile.write("M_OVER_H_CALIB = 0\n")
        self.configFile.write("PM_PH_DIFF_PHASE_ADJ = 0\n")
        self.configFile.write("M_OVER_H0_SUB = 0\n")
        self.configFile.write("H_PHASE_REAL_SUB = 0\n")
        self.configFile.write("H_PHASE_IMAG_SUB = 0\n")
        self.configFile.write("V_H_OFFSET = 30\n")
        self.configFile.write("NUM_PERIOD = 2\n")
        self.configFile.write("BEGIN_TIME = 0\n")
        self.configFile.write("POLARITY = 1.00\n")
        self.configFile.write("WITH_EMPTY = TRUE\n")
        self.configFile.write("NON_LINEAR_SUB = TRUE\n")
        self.configFile.write("TEMP_DIR = 140159\\Opsens\n")
        self.configFile.write("TIME_DIR = 140159\\Time\n")
        self.configFile.write("READ_TIME = FALSE\n")
        self.configFile.write("H_MIN = 20\n")
        self.configFile.write("H_MAX = 60\n")
        self.configFile.write(
            "LEGEND = TEMPERATURE | m_max | osc_time | run_num\n")
        self.configFile.write(
            "PLOT = H_INT_RECONSTRUCTED_REAL_LIST:M_INT_RECONSTRUCTED_REAL_LIST \n"
        )
        self.configFile.write("PLOT_LABEL = H (kA/m):M (kA/m)\n")
        self.configFile.write(
            "PROPERTY_PLOT = TEMPERATURE:HC | INTEGRAL:HC | temperature:osc_time\n"
        )
        self.configFile.write(
            "PROPERTY_PLOT_LABEL = Temperature(degC):Hc(T) | integral:Hc(T) | Temperature(degC):Time(sec)\n"
        )
        self.configFile.close()

        self.reader = tools.Reader("correctConfigFile.txt")
        self.anotherReader = tools.Reader("correctAnotherConfigFile.txt")

        self.readerOutput = open('expectedOutput.txt', 'w')
        self.readerOutput.write(
            "OUT_DIR = C:\\Users\\yeves\\OneDrive - lafayette.edu\\School Documents\\Competition, Research Documents\\SummerResearch2020\\data\n"
        )
        self.readerOutput.write(
            "BASE_DIR = C:\\Users\\yeves\\OneDrive - lafayette.edu\\School Documents\\Competition, Research Documents\\SummerResearch2020\\sample\n"
        )
        self.readerOutput.write(
            "M_G_FACTOR_FILE = MCoil\\20200317110751gfactors.csv\n")
        self.readerOutput.write(
            "H_G_FACTOR_FILE = HCoil\\20200317110751gfactors.csv\n")
        self.readerOutput.write(
            "DATA_EMPTY = 135958\\Oscilloscope\\voltageDataScopeRun20210131135958(1)CollectionKind0.csv\n"
        )
        self.readerOutput.write("DATA_ACTUAL = 140159\\Oscilloscope\n")
        self.readerOutput.write("DESCRIPTION = Empty Dirty Coil Form\n")
        self.readerOutput.write("CUTOFF_FREQ = 4000000\n")
        self.readerOutput.write("KNOWN_FREQ = 0\n")
        self.readerOutput.write("M_OVER_H_REAL_SUB = 0\n")
        self.readerOutput.write("M_OVER_H_IMAG_SUB = 0\n")
        self.readerOutput.write("V_H_OFFSET = 30\n")
        self.readerOutput.write("M_OVER_H_CALIB = 0\n")
        self.readerOutput.write("PM_PH_DIFF_PHASE_ADJ = 0\n")
        self.readerOutput.write("M_OVER_H0_SUB = 0\n")
        self.readerOutput.write("NUM_PERIOD = 2\n")
        self.readerOutput.write("NON_LINEAR_SUB = True\n")
        self.readerOutput.write("H_PHASE_REAL_SUB = 0\n")
        self.readerOutput.write("H_PHASE_IMAG_SUB = 0\n")
        self.readerOutput.write("BEGIN_TIME = 0\n")
        self.readerOutput.write("WITH_EMPTY = True\n")
        self.readerOutput.write("TEMP_DIR = 140159\\Opsens\n")
        self.readerOutput.write("H_MIN = 20\n")
        self.readerOutput.write("POLARITY = 1.00\n")
        self.readerOutput.write("H_MAX = 60\n")
        self.readerOutput.write(
            "LEGEND = TEMPERATURE | m_max | osc_time | run_num\n")
        self.readerOutput.write(
            "PLOT = H_INT_RECONSTRUCTED_REAL_LIST:M_INT_RECONSTRUCTED_REAL_LIST\n"
        )
        self.readerOutput.write("PLOT_LABEL = H (kA/m):M (kA/m)\n")
        self.readerOutput.write(
            "PROPERTY_PLOT = TEMPERATURE:HC | INTEGRAL:HC | temperature:osc_time\n"
        )
        self.readerOutput.write(
            "PROPERTY_PLOT_LABEL = Temperature(degC):Hc(T) | integral:Hc(T) | Temperature(degC):Time(sec)\n"
        )
        self.readerOutput.write("TIME_DIR = 140159\Time\n")
        self.readerOutput.write("READ_TIME = True\n")
        self.readerOutput.close()