def test_finalize_updated(self, tmp_path): p = utilities.yaml_from_dict(tmp_path, 'input.yaml') _delta = DeltaModel(input_file=p) # mock the top-level _delta.log_info = mock.MagicMock() _delta.output_data = mock.MagicMock() _delta.output_checkpoint = mock.MagicMock() # modify the save interval _t = 5 _delta._save_dt = _t * _delta._dt _delta._checkpoint_dt = _t * _delta._dt # run a mock update / save _delta._time = _t * _delta._dt _delta._save_iter += int(1) _delta._save_time_since_data = 0 _delta._save_time_since_checkpoint = 0 # run finalize _delta.finalize() # assert calls # should only hit top-levels assert _delta.log_info.call_count == 2 assert _delta.output_data.call_count == 0 assert _delta.output_checkpoint.call_count == 0 assert _delta._is_finalized is True
def test_save_a_checkpoint_checkpoint_true(self, tmp_path): # create a delta with subsidence parameters p = utilities.yaml_from_dict(tmp_path, 'input.yaml', {'save_checkpoint': True}) _delta = DeltaModel(input_file=p) # force the time to be greater than the checkpoint interval _delta._save_time_since_checkpoint = 2 * _delta._checkpoint_dt # mock the actual save checkpoint function to see if it was called _delta.save_the_checkpoint = mock.MagicMock() _delta.log_info = mock.MagicMock() # run the output checkpoint func _delta.output_checkpoint() # assertions assert (_delta.save_the_checkpoint.call_count == 1) assert (_delta.log_info.call_count == 1)