#!/usr/bin/env python

import os
import sys

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(string    = 'Electronic energy',
      rel_tolerance = 1.0e-7)

test.run(['lda_default_dc.inp', 'lda_default_ll.inp', 'lda_default_nr.inp', 'lda_default_x2c.inp',
                  'lda_default_x2c4.inp', 'blyp_sdft.inp', 'lda_sdft.inp', 'lda_sdft_collinear.inp', 'lda_nosdft.inp'],
                 ['he.mol'], f)

f.add(string    = 'Value of total response',
      rel_tolerance = 1.0e-7)

test.run(['blyp_qr_sdft.inp', 'blyp_qr_nosdft.inp', 'lda_qr_sdft.inp'], ['hcl.mol'], f)

f = Filter()
f.add(string    = 'Electronic energy',
      rel_tolerance = 1.0e-7)
f.add(from_string = ' Energy eigenvalues in atomic units',
      to_re       = 'Relative real eigenvalues in other units;',
      rel_tolerance   = 1.0e-4)
f.add(string    = 'ZZSECMOM',
      rel_tolerance = 5.0e-5)

test.run(['b3lyp.inp', 'blyp.inp', 'lda.inp'], ['hf.mol'], f)

sys.exit(test.return_code)
