tstStateSetIO.f90

./Core/io/f/tests/tstStateSetIO.f90

1 #include "ScaleDBCF/DBCF.h"
2 program tststatesetio
3 
6 use dbcf_m
7 !
8 use nemesis_comm, only: build_types, initialize, finalize, node
9 
10 implicit none
11 
12 type(origen_statesetio) :: io
13 type(datacontainer) :: opts
14 type(origen_stateset) :: ss,ss2
15 type(origen_fakefactory) :: ff
16 logical :: loaded,status
17 
18 call initialize
19 call build_types
20 if(node() /= 0 ) call finalize
21 
22 call io % initialize()
23 call opts % initialize()
24 call ss % initialize()
25 
26 call ff % initialize()
27 loaded = ff % StateSet_random1(ss,333)
28 if( .not. loaded )then
29  insist(.false.,'could not load fake state set')
30 end if
31 call ff % destroy()
32 
33 status = io % save(ss,"ss.f71",opts)
34 insist(status,"saved okay")
35 
36 call ss2 % initialize()
37 status = io % load(ss2,"ss.f71",opts)
38 insist(status,"loaded okay")
39 insist(ss2%equals(ss),"roundtrip okay")
40 
41 call ss2 % destroy()
42 
43 call ss % destroy()
44 call opts % destroy()
45 call io % destroy()
46 
47 call finalize
48 end program