#!/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(from_string = 'Number of reference determinants',
      num_lines    = 2,
      rel_tolerance = 1.0e-5)
f.add(from_re = 'CI Total Energy',
      to_re   = 'Relative to reference',
      rel_tolerance = 1.0e-5)
f.add(from_re = '.*CI-SD Energy',
      to_re   = '.*CI-SD\+Q energy',
      rel_tolerance = 1.0e-5)

test.run(['cisd.inp', 'F.bss+mfsso.cisd.inp', 'F.bss_sfEso1+mfsso.cisd.inp'], ['F.mol'], f)
test.run(['F.bss.cisd.inp', 'F.bss_rkb.cisd.inp', 'F.dkh2_sfEso1+mfsso.cisd.inp'], ['F.mol'], f)
test.run(['F.bss_rkb+mfsso.cisd.inp', 'F.bss_sfEso1.cisd.inp', 'F.bss_sfBso1.cisd.inp'], ['F.mol'], f)
test.run(['F.dkh2_sfBso1.cisd.inp', 'F.dkh2_sfEso1.cisd.inp'], ['F.mol'], f)

sys.exit(test.return_code)
