Coverage for gpaw/test/new/test_pckl.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-20 00:19 +0000

1import pickle 

2 

3from gpaw.core import UGDesc, PWDesc 

4from gpaw.new.pwfd.wave_functions import PWFDWaveFunctions 

5from gpaw.setup import Setups 

6import numpy as np 

7from gpaw.core.atom_arrays import AtomDistribution 

8 

9 

10def test_pckl(in_tmp_dir): 

11 g1 = UGDesc(cell=[1, 2, 3], size=(5, 10, 15)).zeros((1, 2)) 

12 p1 = PWDesc(cell=g1.desc.cell, ecut=5.0).zeros(2) 

13 p1.data[0, 0] = 117.0 

14 g2, p2 = pickle.loads(pickle.dumps((g1, p1))) 

15 print(g2, p2) 

16 wfs1 = PWFDWaveFunctions( 

17 p1, 

18 spin=0, 

19 q=0, 

20 k=0, 

21 setups=Setups([1], {}, {}, 'LDA'), 

22 relpos_ac=np.zeros((1, 3)), 

23 atomdist=AtomDistribution([0])) 

24 wfs2 = pickle.loads(pickle.dumps(wfs1)) 

25 assert wfs2.psit_nX.data[0, 0] == 117