From 7568275d5d6f1ae48b938c6cc604dadf43e8395f Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Wed, 9 Feb 2022 14:05:44 +0000 Subject: [PATCH] refactor: io tests split up in several files --- tests/{io_test.py => json_io_test.py} | 45 ------------------------ tests/openQCD_in_test.py | 49 +++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 45 deletions(-) rename tests/{io_test.py => json_io_test.py} (80%) create mode 100644 tests/openQCD_in_test.py diff --git a/tests/io_test.py b/tests/json_io_test.py similarity index 80% rename from tests/io_test.py rename to tests/json_io_test.py index 92e97902..f5546d9f 100644 --- a/tests/io_test.py +++ b/tests/json_io_test.py @@ -242,48 +242,3 @@ def test_json_dict_io(): jsonio.dump_dict_to_json(od, fname, description=desc) os.remove(fname + '.json.gz') - - -def test_openqcd(): - path = './tests//data/openqcd_test/' - prefix = 'sfqcd' - postfix = '.rwms' - - # sfqcd-1.6: Trajectories instead of confignumbers are printed to file. - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix) - repname = list(rwfo[0].idl.keys())[0] - assert(rwfo[0].idl[repname] == range(1, 13)) - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[1], r_stop=[12]) - assert(rwfo[0].idl[repname] == range(1, 13)) - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[3], r_stop=[8]) - assert(rwfo[0].idl[repname] == range(3, 9)) - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[2], r_stop=[6]) - assert(rwfo[0].idl[repname] == range(2, 7)) - rwfs = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[1], r_stop=[12], r_step=2) - assert(rwfs[0].idl[repname] == range(1, 12, 2)) - rwfs = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[2], r_stop=[12], r_step=2) - assert(rwfs[0].idl[repname] == range(2, 13, 2)) - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix) - assert((rwfo[0].r_values[repname] + rwfo[0].deltas[repname][1]) == (rwfs[0].r_values[repname] + rwfs[0].deltas[repname][0])) - - o = pe.pseudo_Obs(1., .01, repname, samples=12) - pe.reweight(rwfo[0], [o]) - - o = pe.pseudo_Obs(1., .01, repname, samples=6) - pe.reweight(rwfo[0], [o]) - o.idl[repname] = range(2, 13, 2) - pe.reweight(rwfo[0], [o]) - pe.reweight(rwfs[0], [o]) - - files = ['openqcd2r1.ms1.dat'] - names = ['openqcd2|r1'] - - # TM with 2 Hasenbusch factors and 2 sources each + RHMC with one source, openQCD 2.0 - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='2.0', files=files, names=names) - assert(len(rwfo) == 2) - assert(rwfo[0].value == 0.9999974970236312) - assert(rwfo[1].value == 1.184681251089919) - repname = list(rwfo[0].idl.keys())[0] - assert(rwfo[0].idl[repname] == range(1, 10)) - rwfo = pe.input.openQCD.read_rwms(path, prefix, version='2.0', files=files, names=names, r_start=[1], r_stop=[8]) - assert(rwfo[0].idl[repname] == range(1, 9)) diff --git a/tests/openQCD_in_test.py b/tests/openQCD_in_test.py new file mode 100644 index 00000000..d1dc999d --- /dev/null +++ b/tests/openQCD_in_test.py @@ -0,0 +1,49 @@ +import os +import numpy as np +import pyerrors as pe +import pytest + + +def test_openqcd(): + path = './tests//data/openqcd_test/' + prefix = 'sfqcd' + postfix = '.rwms' + + # sfqcd-1.6: Trajectories instead of confignumbers are printed to file. + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix) + repname = list(rwfo[0].idl.keys())[0] + assert(rwfo[0].idl[repname] == range(1, 13)) + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[1], r_stop=[12]) + assert(rwfo[0].idl[repname] == range(1, 13)) + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[3], r_stop=[8]) + assert(rwfo[0].idl[repname] == range(3, 9)) + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[2], r_stop=[6]) + assert(rwfo[0].idl[repname] == range(2, 7)) + rwfs = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[1], r_stop=[12], r_step=2) + assert(rwfs[0].idl[repname] == range(1, 12, 2)) + rwfs = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix, r_start=[2], r_stop=[12], r_step=2) + assert(rwfs[0].idl[repname] == range(2, 13, 2)) + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='1.6', postfix=postfix) + assert((rwfo[0].r_values[repname] + rwfo[0].deltas[repname][1]) == (rwfs[0].r_values[repname] + rwfs[0].deltas[repname][0])) + + o = pe.pseudo_Obs(1., .01, repname, samples=12) + pe.reweight(rwfo[0], [o]) + + o = pe.pseudo_Obs(1., .01, repname, samples=6) + pe.reweight(rwfo[0], [o]) + o.idl[repname] = range(2, 13, 2) + pe.reweight(rwfo[0], [o]) + pe.reweight(rwfs[0], [o]) + + files = ['openqcd2r1.ms1.dat'] + names = ['openqcd2|r1'] + + # TM with 2 Hasenbusch factors and 2 sources each + RHMC with one source, openQCD 2.0 + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='2.0', files=files, names=names) + assert(len(rwfo) == 2) + assert(rwfo[0].value == 0.9999974970236312) + assert(rwfo[1].value == 1.184681251089919) + repname = list(rwfo[0].idl.keys())[0] + assert(rwfo[0].idl[repname] == range(1, 10)) + rwfo = pe.input.openQCD.read_rwms(path, prefix, version='2.0', files=files, names=names, r_start=[1], r_stop=[8]) + assert(rwfo[0].idl[repname] == range(1, 9))