def test_FilenameGetter_TimeFormat(self, mock_class): settings = self._FilenameGetterSettings(time_format='0.4f') obj = file_io._FilenameGetter(settings) model_part = _SurrogateModelPart() obj.Get(model_part) mock_class.assert_called_once_with(model_part, 'kratos.h5', {'<time>': '0.4f'})
def test_FilenameGetter_WithoutFileExtension(self, mock_class): settings = self._FilenameGetterSettings(file_name='kratos') obj = file_io._FilenameGetter(settings) model_part = _SurrogateModelPart() obj.Get(model_part) mock_class.assert_called_once_with(model_part, 'kratos.h5', {'<time>': ''})
def test_FileIOMaxFilesToKeepExclusiveNoDeletion(self, mock_class): mock_class_instance = mock_class.return_value mock_class_instance.GetSortedFileNamesList.return_value = [ 'file_1', 'file_2', 'file_3', 'file_4', 'file_5' ] settings = self._FilenameGetterSettings(file_name='/foo/kratos.h5') settings['file_access_mode'] = 'exclusive' settings['max_files_to_keep'] = 4 obj = file_io._FilenameGetter(settings) with patch("os.path.isdir", autospec=True) as mock_dir: mock_dir.return_value = True with patch( "KratosMultiphysics.kratos_utilities.DeleteFileIfExisting", autospec=True) as p: obj.Get(_SurrogateModelPart()) self.assertEqual(p.call_count, 0) self.assertEqual(mock_dir.call_args_list, [])
def test_FileIOMaxFilesToKeepTruncateNoDeletion(self, mock_class): mock_class_instance = mock_class.return_value mock_class_instance.GetSortedFileNamesList.return_value = [ 'file_1', 'file_2', 'file_3' ] settings = self._FilenameGetterSettings(file_name='/foo/kratos.h5') settings['file_access_mode'] = 'truncate' settings['max_files_to_keep'] = 4 obj = file_io._FilenameGetter(settings) with patch("pathlib.Path.parents", autospec=True) as mock_path: mock_is_dir = mock_path.__getitem__().is_dir mock_is_dir.return_value = True with patch( "KratosMultiphysics.kratos_utilities.DeleteFileIfExisting", autospec=True) as p: obj.Get(_SurrogateModelPart()) self.assertEqual(p.call_count, 0) self.assertEqual(mock_is_dir.call_count, 1)
def test_FilenameGetter_NonTerminalIdentifier(self): settings = self._FilenameGetterSettings( file_name='<model_part_name>-<time>.h5', time_format='0.2f') obj = file_io._FilenameGetter(settings) self.assertEqual(obj.Get(_SurrogateModelPart()), 'model_part-1.23.h5')
def test_FilenameGetter_FormattedNonTerminalTime(self): settings = self._FilenameGetterSettings( file_name='kratos-<time>.h5', time_format='0.2f') obj = file_io._FilenameGetter(settings) self.assertEqual(obj.Get(_SurrogateModelPart()), 'kratos-1.23.h5')
def test_FilenameGetter_NonTerminalTime(self): settings = self._FilenameGetterSettings(file_name='kratos-<time>.h5') obj = file_io._FilenameGetter(settings) self.assertEqual(obj.Get(_SurrogateModelPart()), 'kratos-1.23456789.h5')
def test_FilenameGetter_TimeFormat(self): settings = self._FilenameGetterSettings(time_format='0.4f') obj = file_io._FilenameGetter(settings) self.assertEqual(obj.Get(_SurrogateModelPart()), 'kratos.h5')
def test_FilenameGetter_WithoutFileExtension(self): settings = self._FilenameGetterSettings(file_name='kratos') obj = file_io._FilenameGetter(settings) self.assertEqual(obj.Get(), 'kratos.h5')