#----------------------------------------------------------------------------- # Testing pfset with a .pfidb file #----------------------------------------------------------------------------- from pathlib import Path from parflow import Run from parflow.tools.fs import get_absolute_path dsingle = Run("dsingle", __file__) dsingle.pfset(pfidb_file=get_absolute_path( '$PF_SRC/test/correct_output/dsingle.pfidb.ref')) # Test pfidb generated, _ = dsingle.write() old_text = Path(generated).read_text() dsingle2 = Run.from_definition(generated) generated, _ = dsingle2.write() new_text = Path(generated).read_text() assert old_text and new_text assert old_text == new_text # Test yaml generated, _ = dsingle.write(file_format='yaml') old_text = Path(generated).read_text()
# Concen_Region Geometry Input #--------------------------------------------------------- pfset_test.GeomInput.concen_region_input.InputType = 'Box' pfset_test.GeomInput.concen_region_input.GeomName = 'concen_region' #--------------------------------------------------------- # Phase names #--------------------------------------------------------- pfset_test.Phase.Names = 'water' #--------------------------------------------------------- # pfset: Key/Value #--------------------------------------------------------- # Test key that does not exist pfset_test.pfset(key='A.New.Key.Test', value='SomeSuperContent') # Test key that does not exist with partial valid path pfset_test.pfset(key='Process.Topology.Random.Path', value=5) # Test key that does not exist from a child element pfset_test.Process.Topology.pfset(key='Random.PathFromTopology', value=6) # Test setting a valid value from a full path pfset_test.pfset(key='Process.Topology.P', value=2) # Test setting a valid value from a relative path pfset_test.Process.pfset(key='Topology.Q', value=3) # Test setting a valid field pfset_test.Process.Topology.pfset(key='R', value=4) # Test setting an invalid field pfset_test.Process.Topology.pfset(key='Seb', value=5) #----------------------------------------------------------------------------- # pfset: hierarchical_map
#--------------------------------------------------------- # Testing Python clone function #--------------------------------------------------------- import sys import os from parflow import Run from parflow.tools.fs import get_absolute_path test = Run('full_clone', __file__) test.pfset(yamlFile='$PF_SRC/test/correct_output/full_clone.yaml.ref', exit_if_undefined=True) #----------------------------------------------------------------------------- test.validate() generatedFile, runFile = test.write(file_format='yaml') # Prevent regression with open(generatedFile) as new, open(get_absolute_path('$PF_SRC/test/correct_output/full_clone.yaml.ref')) as ref: if new.read() == ref.read(): print('Success we have the same file') else: print('Files are different') sys.exit(1)