From 9076fbe5259de0bd7a2e0319e5a4686374bf17e9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 25 May 2020 23:05:31 +0200 Subject: [PATCH] testing overwrite functionality --- python/tests/test_Result.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 4eacdee4c..4de8598f7 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -1,8 +1,11 @@ +import time import shutil import os +from datetime import datetime import pytest import numpy as np +import h5py import damask from damask import Result @@ -81,9 +84,34 @@ class TestResult: default.pick('invalid',True) def test_add_invalid(self,default): - with pytest.raises(Exception): + with pytest.raises(TypeError): default.add_calculation('#invalid#*2') + @pytest.mark.parametrize('overwrite',['off','on']) + def test_add_overwrite(self,default,overwrite): + default.pick('times',default.times_in_range(0,np.inf)[-1]) + + default.add_Cauchy() + dset = default.groups_with_datasets('sigma')[0]+'/sigma' + with h5py.File(default.fname,'r') as f: + created_first = f[dset].attrs['Created'].decode() + created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z') + + if overwrite == 'on': + default.enable_overwrite() + else: + default.disable_overwrite() + + time.sleep(2.) + default.add_Cauchy() + with h5py.File(default.fname,'r') as f: + created_second = f[dset].attrs['Created'].decode() + created_second = datetime.strptime(created_second,'%Y-%m-%d %H:%M:%S%z') + if overwrite == 'on': + assert created_first < created_second + else: + assert created_first == created_second + def test_add_absolute(self,default): default.add_absolute('Fe') loc = {'Fe': default.get_dataset_location('Fe'),