def testOwnAtoms(self): try: main(["-c", GLUE_GLUP_OWN_ATOMS_INI]) self.assertFalse(diff_lines(GLUE_SELECT_OUT, GLUE_SELECT_OWN_OUT_GOOD)) self.assertFalse(diff_lines(GLUP_SELECT_OUT, GLUP_SELECT_OWN_OUT_GOOD)) finally: [silent_remove(o_file, disable=DISABLE_REMOVE) for o_file in [GLUE_SELECT_OUT, GLUP_SELECT_OUT]]
def testMultFileToPDBXYZ(self): # When checking output, ignore differences in version and time try: test_input = ["-c", MULT_2PDB_INI] if logger.isEnabledFor(logging.DEBUG): main(test_input) with capture_stdout(main, test_input) as output: self.assertTrue( '"tests/test_data/cp2k_proc/glu_2.5_1.0.out",-283.341542,"False","False"' in output) self.assertTrue( '"tests/test_data/cp2k_proc/glu_2.5_1.05-1.out",-283.526959,"True","True"' in output) diffs = diff_lines(GLU_PDB_OUT, GOOD_GLU_PDB_OUT) diffs1 = diff_lines(GLU_PDB_OUT2, GOOD_GLU_PDB_OUT2) for diff_list in [diffs, diffs1]: self.assertEqual(len(diff_list), 2) self.assertTrue("Created on " in diff_list[0]) self.assertFalse(diff_lines(GLU_XYZ_OUT, GOOD_GLU_XYZ_OUT)) finally: silent_remove(GLU_PDB_OUT, disable=DISABLE_REMOVE) silent_remove(GLU_PDB_OUT1, disable=DISABLE_REMOVE) silent_remove(GLU_PDB_OUT2, disable=DISABLE_REMOVE) silent_remove(GLU_XYZ_OUT, disable=DISABLE_REMOVE) silent_remove(GLU_XYZ_OUT1, disable=DISABLE_REMOVE) silent_remove(GLU_XYZ_OUT2, disable=DISABLE_REMOVE)
def testWaterMol(self): try: main(["-c", WATER_MOL_INI, "-p"]) self.assertFalse(diff_lines(DEF_CI_OUT1, GOOD_WATER_MOL_OUT1)) self.assertFalse(diff_lines(DEF_CI_OUT2, GOOD_WATER_MOL_OUT2)) finally: silent_remove(DEF_CI_OUT1, disable=DISABLE_REMOVE) silent_remove(DEF_CI_OUT2, disable=DISABLE_REMOVE)
def testSortFromLammps(self): try: main(["-c", SORT_FROM_LAMMPS_INI]) self.assertFalse(diff_lines(SORT_FROM_LAMMPS, SORT_FROM_LAMMPS_GOOD)) self.assertFalse(diff_lines(SELECT_FROM_LAMMPS, SELECT_FROM_LAMMPS_GOOD)) finally: silent_remove(SORT_FROM_LAMMPS, disable=DISABLE_REMOVE) silent_remove(SELECT_FROM_LAMMPS, disable=DISABLE_REMOVE)
def testSpecOverwrite(self): try: main([str(EXP_TEMP), "-o"]) self.assertFalse(diff_lines(ORIG_WHAM_OUT, GOOD_ORIG_WHAM_OUT)) self.assertFalse(diff_lines(SHORT_WHAM_OUT, GOOD_SHORT_WHAM_OUT)) finally: silent_remove(ORIG_WHAM_OUT, disable=DISABLE_REMOVE) silent_remove(SHORT_WHAM_OUT, disable=DISABLE_REMOVE)
def testGood(self): try: main([PB_GOOD]) self.assertEqual(2, len(diff_lines(PB_GOOD_XYZ, PB_REF_XYZ, delimiter=" "))) self.assertEqual(0, len(diff_lines(PB_GOOD_LOG, PB_REF_LOG))) finally: silent_remove(PB_GOOD_LOG) silent_remove(PB_GOOD_XYZ)
def testSetDistMult(self): try: main(["-c", GLU_MULT_DIST_INI]) self.assertFalse(diff_lines(GLU_MULT_DIST_OUT1, GOOD_GLU_MULT_DIST_OUT1)) self.assertFalse(diff_lines(GLU_MULT_DIST_OUT2, GOOD_GLU_MULT_DIST_OUT2)) finally: silent_remove(GLU_MULT_DIST_OUT1) silent_remove(GLU_MULT_DIST_OUT2)
def testWaterMol(self): try: main(["-c", WATER_MOL_INI]) self.assertFalse(diff_lines(WATER_MOL_OUT1, GOOD_WATER_MOL_OUT1)) self.assertFalse(diff_lines(WATER_MOL_OUT2, GOOD_WATER_MOL_OUT2)) finally: silent_remove(WATER_MOL_OUT1, disable=DISABLE_REMOVE) silent_remove(WATER_MOL_OUT2, disable=DISABLE_REMOVE)
def testCiInfo(self): try: main(["-c", CI_INI]) self.assertFalse(diff_lines(DEF_CI_OUT1, GOOD_CI_OUT1)) self.assertEquals(1, len(diff_lines(DEF_CI_OUT2, BAD_CI_OUT2))) self.assertFalse(diff_lines(DEF_CI_OUT2, GOOD_CI_OUT2)) finally: silent_remove(DEF_CI_OUT1) silent_remove(DEF_CI_OUT2)
def testCiInfo(self): try: main(["-c", CI_INI]) self.assertFalse(diff_lines(DEF_CI_OUT1, GOOD_CI_OUT1)) self.assertEqual(1, len(diff_lines(DEF_CI_OUT2, BAD_CI_OUT2))) self.assertFalse(diff_lines(DEF_CI_OUT2, GOOD_CI_OUT2)) finally: silent_remove(DEF_CI_OUT1, disable=DISABLE_REMOVE) silent_remove(DEF_CI_OUT2, disable=DISABLE_REMOVE)
def testAtomNumTypeDict(self): try: main(["-c", GLUE_GLUP_INI]) self.assertFalse(diff_lines(GLUP_GLUE_ATOM_NUM_DICT, GLUP_GLUE_ATOM_NUM_DICT_GOOD)) self.assertFalse(diff_lines(GLUP_GLUE_ATOM_TYPE_DICT, GLUP_GLUE_ATOM_TYPE_DICT_GOOD)) self.assertFalse(diff_lines(GLUP_AS_GLUE, GLUP_AS_GLUE_GOOD, delimiter=" ")) finally: silent_remove(GLUP_GLUE_ATOM_NUM_DICT, disable=DISABLE_REMOVE) silent_remove(GLUP_GLUE_ATOM_TYPE_DICT, disable=DISABLE_REMOVE) silent_remove(GLUP_AS_GLUE, disable=DISABLE_REMOVE)
def testPrintQMMMNoExclude(self): try: main(["-c", QM_OUT_INI]) self.assertFalse(diff_lines(MM_KIND_OUT, GOOD_MM_KIND_OUT)) self.assertFalse(diff_lines(QMMM_OUT, GOOD_QM_OUT)) self.assertFalse(diff_lines(VMD_ATOMS_OUT, GOOD_VMD_QM_ATOMS_OUT)) finally: silent_remove(MM_KIND_OUT, disable=DISABLE_REMOVE) silent_remove(QMMM_OUT, disable=DISABLE_REMOVE) silent_remove(VMD_ATOMS_OUT, disable=DISABLE_REMOVE)
def testAtomNumTypeDict(self): try: main(["-c", GLUE_GLUP_INI]) self.assertFalse(diff_lines(GLUP_GLUE_ATOM_NUM_DICT, GLUP_GLUE_ATOM_NUM_DICT_GOOD)) self.assertFalse(diff_lines(GLUP_GLUE_ATOM_TYPE_DICT, GLUP_GLUE_ATOM_TYPE_DICT_GOOD)) self.assertFalse(diff_lines(GLUP_AS_GLUE, GLUP_AS_GLUE_GOOD)) finally: silent_remove(GLUP_GLUE_ATOM_NUM_DICT) silent_remove(GLUP_GLUE_ATOM_TYPE_DICT) silent_remove(GLUP_AS_GLUE)
def testImptAtoms(self): try: main(["-c", GLUE_GLUP_IMP_ATOMS_INI]) self.assertFalse(diff_lines(GLUE_SELECT_OUT, GLUE_SELECT_OUT_GOOD)) self.assertFalse(diff_lines(GLUP_SELECT_OUT, GLUP_SELECT_OUT_GOOD)) finally: [ silent_remove(o_file, disable=DISABLE_REMOVE) for o_file in [GLUE_SELECT_OUT, GLUP_SELECT_OUT] ]
def testSortFromLammps(self): try: main(["-c", SORT_FROM_LAMMPS_INI]) self.assertFalse( diff_lines(SORT_FROM_LAMMPS, SORT_FROM_LAMMPS_GOOD)) self.assertFalse( diff_lines(SELECT_FROM_LAMMPS, SELECT_FROM_LAMMPS_GOOD)) finally: silent_remove(SORT_FROM_LAMMPS, disable=DISABLE_REMOVE) silent_remove(SELECT_FROM_LAMMPS, disable=DISABLE_REMOVE)
def testGood(self): try: # main(["-c", DEF_INI]) with capture_stdout(main, ["-c", DEF_INI]) as output: self.assertTrue("total charge" in output) self.assertFalse(diff_lines(VMD_OUT, GOOD_VMD_OUT)) self.assertFalse(diff_lines(WATER_OUT, GOOD_WATER_OUT)) finally: silent_remove(VMD_OUT) silent_remove(WATER_OUT)
def testPrintQMMM(self): try: main(["-c", QMMM_OUT_INI]) self.assertFalse(diff_lines(QMMM_PDB_OUT, QMMM_PDB_IN)) self.assertFalse(diff_lines(QMMM_OUT, GOOD_QMMM_OUT)) self.assertFalse(diff_lines(VMD_ATOMS_OUT, GOOD_VMD_ATOMS_OUT)) finally: silent_remove(QMMM_PDB_OUT) silent_remove(QMMM_OUT) silent_remove(VMD_ATOMS_OUT)
def testOneFileToDataXYZ(self): # When checking output, ignore differences in version and time try: main(["-c", ONE_2DATA_INI]) diffs = diff_lines(GLU_DATA_OUT, GOOD_GLU_DATA_OUT) self.assertEqual(len(diffs), 2) self.assertTrue("Created on " in diffs[0]) self.assertFalse(diff_lines(GLU_XYZ_OUT, GOOD_GLU_XYZ_OUT)) finally: silent_remove(GLU_DATA_OUT, disable=DISABLE_REMOVE) silent_remove(GLU_XYZ_OUT, disable=DISABLE_REMOVE)
def testHist(self): try: main(["-f", HIST_INPUT, "-n", "-d", ",", "-s"]) for p_file in [HIST_PNG1, HIST_PNG2, HIST_PNG3]: self.assertGreater(os.path.getsize(p_file), 10000) self.assertFalse(diff_lines(HIST_OUT, GOOD_HIST_OUT)) self.assertFalse(diff_lines(HIST_COUNT, GOOD_HIST_COUNT)) finally: [silent_remove(o_file, disable=DISABLE_REMOVE) for o_file in [HIST_PNG1, HIST_PNG2, HIST_PNG3, HIST_OUT, HIST_COUNT, ]]
def testPrintQMMMNoExclude(self): try: main(["-c", QM_OUT_INI]) self.assertFalse(diff_lines(MM_KIND_OUT, GOOD_MM_KIND_OUT)) self.assertFalse(diff_lines(QMMM_OUT, GOOD_QM_OUT)) self.assertFalse(diff_lines(VMD_ATOMS_OUT, GOOD_VMD_QM_ATOMS_OUT)) finally: silent_remove(MM_KIND_OUT) silent_remove(QMMM_OUT) silent_remove(VMD_ATOMS_OUT) pass
def testMakeEqPar(self): try: for o_file in MULTI_OUT_FILES: silent_remove(o_file) main(["-c", PAR_EQ_INI]) self.assertFalse(diff_lines(MULTI_PAR_OUT1, GOOD_MULTI_PAR_OUT1)) self.assertFalse(diff_lines(MULTI_PAR_OUT2, GOOD_PAR_OUT)) self.assertFalse(diff_lines(MULTI_PAR_OUT3, GOOD_MULTI_PAR_OUT3)) finally: for o_file in MULTI_OUT_FILES: silent_remove(o_file, disable=DISABLE_REMOVE)
def testAdjustAtom(self): try: main(["-c", GLU_ADJUST_ATOM_INI]) self.assertFalse(diff_lines(GLU_ADJUST_OUT_0, GLU_ADJUST_TPL)) self.assertFalse(diff_lines(GLU_ADJUST_OUT_NEG1, GOOD_GLU_ADJUST_OUT_NEG1)) self.assertFalse(diff_lines(GLU_ADJUST_OUT_1, GOOD_GLU_ADJUST_OUT_1)) self.assertFalse(diff_lines(GLU_ADJUST_OUT_2, GOOD_GLU_ADJUST_OUT_2)) finally: silent_remove(GLU_ADJUST_OUT_NEG1, disable=DISABLE_REMOVE) silent_remove(GLU_ADJUST_OUT_0, disable=DISABLE_REMOVE) silent_remove(GLU_ADJUST_OUT_1, disable=DISABLE_REMOVE) silent_remove(GLU_ADJUST_OUT_2, disable=DISABLE_REMOVE)
def testMakeParStartLow(self): # For this test, there is exactly one value provided for each parameter, and x_0 is too low silent_remove(PAR_OUT) silent_remove(COPY_PAR) try: main(["-c", CONV_INI]) self.assertFalse(diff_lines(PAR_OUT, GOOD_PAR_OUT2)) self.assertFalse(diff_lines(COPY_PAR, GOOD_PAR_OUT2)) finally: silent_remove(PAR_OUT, disable=DISABLE_REMOVE) silent_remove(COPY_PAR, disable=DISABLE_REMOVE) silent_remove(SCRIPT_OUT, disable=DISABLE_REMOVE)
def testPrintQMMM(self): try: # main(["-c", QMMM_OUT_INI]) with capture_stdout(main, ["-c", QMMM_OUT_INI]) as output: self.assertTrue("Total charge from QM atoms: -1.0" in output) self.assertFalse(diff_lines(QMMM_OUT, GOOD_QMMM_OUT)) self.assertFalse(diff_lines(MM_KIND_OUT, GOOD_MM_KIND_OUT)) self.assertFalse(diff_lines(VMD_ATOMS_OUT, GOOD_VMD_ATOMS_OUT)) finally: silent_remove(QMMM_OUT) silent_remove(MM_KIND_OUT) silent_remove(VMD_ATOMS_OUT)
def testGood(self): try: test_input = ["-c", DEF_INI] if logger.isEnabledFor(logging.DEBUG): main(test_input) with capture_stdout(main, test_input) as output: self.assertTrue("total charge" in output) self.assertFalse(diff_lines(VMD_OUT, GOOD_VMD_OUT)) self.assertFalse(diff_lines(WATER_OUT, GOOD_WATER_OUT)) finally: silent_remove(VMD_OUT) silent_remove(WATER_OUT)
def testMakeOneMultiPar(self): # Now, one parameter has multiple values try: for o_file in MULTI_OUT_FILES: silent_remove(o_file) main(["-c", PAR_ONE_MULTI_INI]) self.assertFalse(diff_lines(MULTI_PAR_OUT1, GOOD_MULTI_PAR_OUT1)) self.assertFalse(diff_lines(MULTI_PAR_OUT2, GOOD_PAR_OUT)) self.assertFalse(diff_lines(MULTI_PAR_OUT3, GOOD_MULTI_PAR_OUT3)) finally: for o_file in MULTI_OUT_FILES: silent_remove(o_file, disable=DISABLE_REMOVE)
def testCollectBestWResidNoInitialBest(self): try: # Ensure that this is not already a summary file silent_remove(ALL_BEST_STR, disable=DISABLE_REMOVE) main([ "-c", DA_GAUSS_INI, "-f", FITEVB_OUT1, "-s", ALL_BEST_STR, "-r", FIT_HIJ, FIT_REP1 ]) self.assertFalse(diff_lines(DEF_OUT, GOOD_INP_OUT1)) self.assertFalse(diff_lines(ALL_BEST_STR, GOOD_ALL_BEST_NEW)) finally: silent_remove(DEF_OUT, disable=DISABLE_REMOVE) silent_remove(ALL_BEST_STR, disable=DISABLE_REMOVE)
def testOneStateEachFileCiInfo(self): """ Make sure can handle input that only has one state (such steps have a vector instead of a matrix) this time, printing a separate output for each file And, skip one-state-steps """ try: main(["-c", CI_ONE_STATE_EACH_FILE_INI]) self.assertFalse(diff_lines(DEF_ONE_STATE_OUT, GOOD_ONE_STATE_OUT)) self.assertFalse(diff_lines(DEF_ONE_STATE_OUT2, GOOD_ONE_STATE_OUT2)) finally: silent_remove(DEF_ONE_STATE_OUT) silent_remove(DEF_ONE_STATE_OUT2)
def testMissingRadius(self): # Tests both providing a dictionary and not having an available radius (still prints everything, just missing # one radius) try: with capture_stderr(main, ["-c", MISSING_RADIUS_INI]) as output: self.assertTrue("Did not find atom type 'XYZ' in the atom_type to radius dictionary" in output) self.assertFalse(diff_lines(QMMM_OUT, GOOD_QMMM_OUT)) self.assertEqual(3, len(diff_lines(MM_KIND_OUT, GOOD_MM_KIND_OUT))) self.assertFalse(diff_lines(VMD_ATOMS_OUT, GOOD_VMD_ATOMS_OUT)) finally: silent_remove(QMMM_OUT) silent_remove(MM_KIND_OUT) silent_remove(VMD_ATOMS_OUT)
def testPrintQMMM(self): try: test_input = ["-c", QMMM_OUT_INI] if logger.isEnabledFor(logging.DEBUG): main(test_input) with capture_stdout(main, test_input) as output: self.assertTrue("Total charge from QM atoms: -1.0" in output) self.assertFalse(diff_lines(QMMM_OUT, GOOD_QMMM_OUT)) self.assertFalse(diff_lines(MM_KIND_OUT, GOOD_MM_KIND_OUT)) self.assertFalse(diff_lines(VMD_ATOMS_OUT, GOOD_VMD_ATOMS_OUT)) finally: silent_remove(QMMM_OUT, disable=DISABLE_REMOVE) silent_remove(MM_KIND_OUT, disable=DISABLE_REMOVE) silent_remove(VMD_ATOMS_OUT, disable=DISABLE_REMOVE)
def testOneStateEachFileCiInfo(self): """ Make sure can handle input that only has one state (such steps have a vector instead of a matrix) this time, printing a separate output for each file And, skip one-state-steps """ try: main(["-c", CI_ONE_STATE_EACH_FILE_INI]) self.assertFalse(diff_lines(DEF_ONE_STATE_OUT, GOOD_ONE_STATE_OUT)) self.assertFalse( diff_lines(DEF_ONE_STATE_OUT2, GOOD_ONE_STATE_OUT2)) finally: silent_remove(DEF_ONE_STATE_OUT, disable=DISABLE_REMOVE) silent_remove(DEF_ONE_STATE_OUT2, disable=DISABLE_REMOVE)
def testMakeParStartHigh(self): # Testing that starting from an x_0 too high still ends at the same answer # Also check specifying par file name in command line; should overwrite what is in the config file try: silent_remove(ALT_PAR_FNAME) main(["-c", CONV_ALT_INI, "-f", ALT_PAR_FNAME]) self.assertFalse(diff_lines(ALT_PAR_FNAME, GOOD_PAR_OUT2)) self.assertFalse(diff_lines(RESID_PAR_OUT, GOOD_PAR_OUT2)) finally: silent_remove(ALT_PAR_FNAME, disable=DISABLE_REMOVE) silent_remove(SCRIPT_OUT, disable=DISABLE_REMOVE) silent_remove(RESID_PAR_OUT, disable=DISABLE_REMOVE) for file_name in OTHER_RESID_NAMES: silent_remove(os.path.join(DATA_DIR, file_name), disable=DISABLE_REMOVE)
def testFileListToData(self): try: silent_remove(GLU_DATA_OUT) test_input = ["-c", MULT_2DATA_INI] main(test_input) diffs = diff_lines(GLU_DATA_OUT, GOOD_GLU_DATA_OUT) diffs1 = diff_lines(GLU_DATA_OUT2, GOOD_GLU_DATA_OUT2) for diff_list in [diffs, diffs1]: self.assertEqual(len(diff_list), 2) self.assertTrue("Created on " in diff_list[0]) finally: silent_remove(GLU_DATA_OUT, disable=DISABLE_REMOVE) silent_remove(GLU_DATA_OUT1, disable=DISABLE_REMOVE) silent_remove(GLU_DATA_OUT2, disable=DISABLE_REMOVE)
def testGoodInput(self): test_input = ["-l", GLU_LIST] if logger.isEnabledFor(logging.DEBUG): main(test_input) try: with capture_stdout(main, test_input) as output: self.assertTrue("1429 47 -0.274 -0.728 -0.387 0.470" in output) self.assertTrue("1429 53 -0.215 0.156 0.269 0.822" in output) self.assertFalse(diff_lines(GLU_SUM, GOOD_GLU_SUM)) self.assertFalse(diff_lines(GLU_OUT1, GOOD_GLU_OUT1, delimiter=" ")) self.assertFalse(diff_lines(GLU_OUT2, GOOD_GLU_OUT2, delimiter=" ")) finally: silent_remove(GLU_SUM, disable=DISABLE_REMOVE) silent_remove(GLU_OUT1, disable=DISABLE_REMOVE) silent_remove(GLU_OUT2, disable=DISABLE_REMOVE)
def testMultiLineSepIni(self): # have different rows create different files # test that if the prefix is already used, number it # test if nothing common in the file base names, number it try: main(["-f", MULTI_LINE_CMP_LIST, "-s", "-l", SUB_DATA_DIR]) self.assertFalse(diff_lines(LINE1_OUT, GOOD_LINE1_OUT)) self.assertFalse(diff_lines(LINE2_OUT, GOOD_LINE2_OUT)) self.assertFalse(diff_lines(LINE3_OUT, GOOD_LINE1_OUT)) self.assertFalse(diff_lines(LINE4_OUT, GOOD_LINE1_OUT)) finally: silent_remove(LINE1_OUT, disable=DISABLE_REMOVE) silent_remove(LINE2_OUT, disable=DISABLE_REMOVE) silent_remove(LINE3_OUT, disable=DISABLE_REMOVE) silent_remove(LINE4_OUT, disable=DISABLE_REMOVE)
def testNoOpt(self): # Testing that will run without any params specified to be optimized silent_remove(PAR_OUT) test_input = ["-c", PAR_INI] if logger.isEnabledFor(logging.DEBUG): main(test_input) try: with capture_stderr(main, test_input) as output: self.assertTrue("No parameters will be optimized" in output) self.assertFalse(diff_lines(PAR_OUT, GOOD_PAR_OUT2)) self.assertFalse(diff_lines(COPY_PAR, GOOD_PAR_OUT2)) finally: silent_remove(PAR_OUT, disable=DISABLE_REMOVE) silent_remove(COPY_PAR, disable=DISABLE_REMOVE) silent_remove(SCRIPT_OUT, disable=DISABLE_REMOVE)
def testEmreAddElements(self): # As above, but a larger/different PDB try: main(["-c", EMRE_ADD_ELEMENT_INI]) self.assertFalse(diff_lines(EMRE_ADD_ELEMENT_OUT, GOOD_EMRE_ADD_ELEMENT_OUT)) finally: silent_remove(EMRE_ADD_ELEMENT_OUT)
def testSubsetCiInfo(self): with capture_stderr(main, ["-c", CI_SUBSET_INI]) as output: self.assertTrue("found no data from" in output) self.assertFalse(diff_lines(DEF_CI_SUBSET_OUT, GOOD_CI_SUBSET_OUT)) silent_remove(DEF_CI_SUBSET_OUT) silent_remove(DEF_CI_OUT1) silent_remove(DEF_CI_OUT2)
def testWaterMolCombine(self): # Should skip the timestep with only 1 state try: main(["-c", WATER_MOL_COMB_INI]) self.assertFalse(diff_lines(WATER_MOL_COMB_OUT, GOOD_WATER_MOL_COMB_OUT)) finally: silent_remove(WATER_MOL_COMB_OUT)
def testGlu(self): try: data2pdb.main(["-c", GLU_INI]) self.assertFalse(diff_lines(GLU_OUT, GOOD_GLU_OUT)) finally: silent_remove(PDB_TPL_OUT) silent_remove(GLU_OUT)
def testDefInp(self): try: with capture_stdout(main, ["-f", DEF_INPUT, "-c", DEF_INI]) as output: self.assertTrue("Keeping 2 of 4 rows based on filtering criteria" in output) self.assertFalse(diff_lines(CSV_OUT, GOOD_CSV_OUT)) finally: silent_remove(CSV_OUT)
def testDefInp(self): test_input = ["-c", DEF_INI, "-f", DEF_INPUT] try: main(test_input) self.assertFalse(diff_lines(DEF_OUT, GOOD_OUT)) finally: silent_remove(DEF_OUT, disable=DISABLE_REMOVE)
def testDefInp(self): try: with capture_stdout(main, ["-f", DEF_INPUT]) as output: self.assertTrue(GOOD_OUT in output) self.assertFalse(diff_lines(CSV_OUT, GOOD_CSV_OUT)) finally: silent_remove(CSV_OUT, disable=DISABLE_REMOVE)
def testMaxTimestepsCalcHIJ(self): try: with capture_stdout(main, ["-c", HIJ_INI]) as output: self.assertTrue("Reached the maximum timesteps" in output) self.assertFalse(diff_lines(HIJ_OUT, GOOD_HIJ_OUT)) finally: silent_remove(HIJ_OUT, disable=DISABLE_REMOVE)
def testIncompDump(self): try: with capture_stderr(main, ["-c", INCOMP_DUMP_INI_PATH]) as output: self.assertTrue("WARNING" in output) self.assertFalse(diff_lines(DEF_GOFR_INCOMP_OUT, GOOD_HO_GOFR_OUT_PATH)) finally: silent_remove(DEF_GOFR_INCOMP_OUT, disable=DISABLE_REMOVE)
def testHO_OO_HH_OHGofR(self): try: main(["-c", HO_OO_HH_OH_GOFR_INI]) self.assertFalse( diff_lines(DEF_GOFR_OUT, GOOD_HO_OO_HH_OH_GOFR_OUT)) finally: silent_remove(DEF_GOFR_OUT, disable=DISABLE_REMOVE)
def testCalcProps(self): try: test_input = ["-c", CALC_GLU_PROPS_INI, "-p"] main(test_input) self.assertFalse(diff_lines(HIJ_NEW_GLU2_OUT, GOOD_GLU_PROPS_OUT)) finally: silent_remove(HIJ_NEW_GLU2_OUT, disable=DISABLE_REMOVE)
def testAddNothing(self): # this first test does not really doing anything, and warns the user try: with capture_stderr(main, [INPUT_PATH]) as output: self.assertTrue("Return file will be the same as the input" in output) self.assertFalse(diff_lines(INPUT_PATH, DEF_OUT_PATH)) finally: silent_remove(DEF_OUT_PATH)
def testDupCol(self): test_input = ["-f", DUP_COL_CMP_LIST] if logger.isEnabledFor(logging.DEBUG): main(test_input) with capture_stderr(main, test_input) as output: self.assertFalse(diff_lines(DEF_OUT, GOOD_OUT)) self.assertTrue("Non-unique column" in output) silent_remove(DEF_OUT, disable=DISABLE_REMOVE)
def testNoMinNonFloat(self): # Tests both handling when no min section is specified and non-floats in the file to be analyzed test_input = ["-f", NON_FLOAT_INPUT, "-c", NO_MIN_INI] try: main(test_input) self.assertFalse(diff_lines(NON_FLOAT_OUT, GOOD_NON_FLOAT_OUT)) finally: silent_remove(NON_FLOAT_OUT)
def testBinMax2(self): # In this input, both bins have more than the max entries test_input = ["-f", BIN_INPUT, "-c", BIN_MAX2_INI] try: main(test_input) self.assertFalse(diff_lines(DEF_BIN_OUT, GOOD_BIN_MAX2_OUT)) finally: silent_remove(DEF_BIN_OUT, disable=DISABLE_REMOVE)
def testCompDihAlt(self): # Test it is okay with sections in the 1st but not 2nd file with capture_stderr(main, ["-c", COMP_DIH_ALT_INI]) as output: self.assertTrue("WARNING: Skipping section" in output) try: self.assertFalse(diff_lines(COMP_DIH_ALT_OUT, COMP_DIH_ALT_OUT_GOOD)) finally: silent_remove(COMP_DIH_ALT_OUT, disable=DISABLE_REMOVE)
def testReorderAtoms(self): try: with capture_stdout(main, ["-c", DEF_INI]) as output: for message in WATER_OUT_OF_ORDER_MESSAGES: self.assertFalse(message in output) self.assertFalse(diff_lines(DEF_OUT, GOOD_OUT)) finally: silent_remove(DEF_OUT)