#!/usr/bin/env python

import os
import sys
import shutil

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
from runtest_dirac import Filter, TestRun

test = TestRun(__file__, sys.argv)

f = Filter()
f.add(from_string = 'Electronic energy',
      num_lines   = 8,
      rel_tolerance   = 1.0e-9)
f.add(from_string = 'Eigenvalues',
      to_re       = 'HOMO - LUMO',
      rel_tolerance   = 1.0e-5)

test.run(['H.inp'], ['H.mol'], f, args='--get=DFACMO')
shutil.copy('DFACMO', 'AFHXXX')

test.run(['C.inp'], ['C.mol'], f, args='--get=DFACMO')
shutil.copy('DFACMO', 'AFCXXX')

test.run(['PBE.inp'], ['CH4.xyz'], f, args='--outcmo')

f = Filter()
f.add(from_string = '* Total gross contributions',
      num_lines   = 7,
      rel_tolerance   = 1.0e-4)

test.run(['prj.inp'], ['CH4.xyz'], f, args='--incmo --copy="AF*"')
test.run(['prj_polref.inp'], ['CH4.xyz'], f, args='--incmo --copy="AF*"')

# cleanup
os.unlink('DFACMO')
os.unlink('AFCXXX')
os.unlink('AFHXXX')

sys.exit(test.return_code)
