def handle_auto_find(self, e): current_items = self.directory_listbox.GetStrings() lw = LocateWorkflows() found_items = lw.find_eplus_workflows() lw.get_energyplus_versions() for found_item in found_items: if found_item not in current_items: self.directory_listbox.Append(found_item)
def test_locate_workflow_directories(self): loc_wf = LocateWorkflows() directories = loc_wf.find() directories59 = [dir for dir in directories if "5-9" in dir] tests_utilities_energyplus_directory, workflow_folder = os.path.split( directories59[0]) self.assertEqual(workflow_folder, "workflows") tests_utilities_directory, energyplus_folder = os.path.split( tests_utilities_energyplus_directory) self.assertEqual(energyplus_folder, "EnergyPlusV5-9-0")
def test_get_workflow_directory(self): loc_wf = LocateWorkflows() loc_wf.list_of_energyplus_versions = [{ 'version': 1.0, 'workflow': 'first' }, { 'version': 2.0, 'workflow': 'second' }, { 'version': 3.0, 'workflow': 'third' }] self.assertEqual('first', loc_wf.get_workflow_directory(1.0)) self.assertEqual('second', loc_wf.get_workflow_directory(2.0)) self.assertEqual('third', loc_wf.get_workflow_directory(3.0)) self.assertEqual('', loc_wf.get_workflow_directory(4.0))
def test_getting_energyplus_versions_from_idd(self): loc_wf = LocateWorkflows() workflow_directories = loc_wf.find() workflow_directories.sort() # as a part of this test, we are mocking the energyplus IDD with a small dummy version dir_path = os.path.dirname(os.path.realpath(__file__)) mock_idd_path = os.path.join(dir_path, 'mock', 'Energy+.idd') test_energyplus_folder = os.path.join( os.path.dirname(workflow_directories[0])) shutil.copy(mock_idd_path, test_energyplus_folder) loc_wf.get_energyplus_versions() self.assertEqual('5.9.0', loc_wf.list_of_energyplus_versions[0]['version']) self.assertEqual('deadbeef01', loc_wf.list_of_energyplus_versions[0]['sha'])
def test_getting_energyplus_versions_from_binary(self): loc_wf = LocateWorkflows() workflow_directories = loc_wf.find() # as a part of this test, we are mocking the energyplus binary itself with a simple script that returns version dir_path = os.path.dirname(os.path.realpath(__file__)) mock_energyplus_path = os.path.join(dir_path, 'mock', 'energyplus') test_energyplus_folder = os.path.join( os.path.dirname(workflow_directories[0])) shutil.copy(mock_energyplus_path, test_energyplus_folder) loc_wf.get_energyplus_versions() self.assertEqual(1, len(loc_wf.list_of_energyplus_versions)) self.assertEqual('5.9.0', loc_wf.list_of_energyplus_versions[0]['version']) self.assertEqual('deadbeef00', loc_wf.list_of_energyplus_versions[0]['sha'])
def set_listbox(self, list_of_directories): self.list_of_directories = list_of_directories if len(self.list_of_directories) == 0: lw = LocateWorkflows() self.list_of_directories = lw.find_eplus_workflows() self.directory_listbox.SetItems(list(self.list_of_directories))