def setUp(self): self.orb1 = MOrbital() self.orb1_dup = MOrbital() self.aoc1 = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc1_dup = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc2 = AO_Contrib(2, 'O', 'f-1', 0.5) self.aoc3 = AO_Contrib(2, 'O', 'f+2', 0.2) self.orb2 = MOrbital(1, None, -0.34, 1.00, [self.aoc1, self.aoc2, self.aoc3]) self.orb3 = MOrbital(1, None, -0.14, 0.50, [self.aoc2, self.aoc1, self.aoc3])
def setUp(self): self.orb1 = MOrbital() self.orb1_dup = MOrbital() self.aoc1 = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc1_dup = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc2 = AO_Contrib(2, 'O', 'f-1', 0.5) self.aoc3 = AO_Contrib(2, 'O', 'f+2', 0.2) self.orb2 = MOrbital(1, -0.34, 1.00, [self.aoc1, self.aoc2, self.aoc3]) self.orb3 = MOrbital(1, -0.14, 0.50, [self.aoc2, self.aoc1, self.aoc3])
def test_sub(self): # Blank - Blank == Blank self.assertEqual(OP() - OP(), OP()) # A - Blank == A h2o = OP('H2O.dat') # Uses blank list of properly indexed orbitals blank = OP(orb_list=[MOrbital(i, None, 0, 0, []) for i in range(13)]) self.assertEqual(h2o - blank, h2o) # A - B h2s = OP('H2S.dat')
def test_sub(self): # Blank - Blank == Blank self.assertEqual(self.orb1 - self.orb1_dup, self.orb1) # A - Blank == A self.assertEqual((self.orb2 - self.orb1).contributions, self.orb2.contributions) # A - B aoc_1_2 = self.aoc1 - self.aoc2 aoc_2_1 = self.aoc2 - self.aoc1 aoc_3_3 = self.aoc3 - self.aoc3 orb_2_3 = MOrbital(1, None, -0.20, 0.50, [aoc_1_2, aoc_2_1, aoc_3_3]) self.assertEqual((self.orb2 - self.orb3).contributions, orb_2_3.contributions)
class TestOrbital(unittest.TestCase): def setUp(self): self.orb1 = MOrbital() self.orb1_dup = MOrbital() self.aoc1 = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc1_dup = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc2 = AO_Contrib(2, 'O', 'f-1', 0.5) self.aoc3 = AO_Contrib(2, 'O', 'f+2', 0.2) self.orb2 = MOrbital(1, -0.34, 1.00, [self.aoc1, self.aoc2, self.aoc3]) self.orb3 = MOrbital(1, -0.14, 0.50, [self.aoc2, self.aoc1, self.aoc3]) def test_init(self): self.assertTrue(self.orb1 == self.orb1_dup) self.assertFalse(self.orb1 == self.orb2) self.assertEqual(self.orb2.atom_sum(2), 0.7) self.assertEqual(self.orb2.atom_sum('F'), 0.0) self.assertEqual(self.orb2.orbital_type_sum(1, 'd'), 0) self.assertEqual(self.orb2.orbital_type_sum(9, 'p'), 0) self.assertEqual(self.orb2.orbital_type_sum(2, 'f'), 0.7) def test_sub(self): # Blank - Blank == Blank self.assertEqual(self.orb1 - self.orb1_dup, self.orb1) # A - Blank == A self.assertEqual((self.orb2 - self.orb1).contributions, self.orb2.contributions) # A - B aoc_1_2 = self.aoc1 - self.aoc2 aoc_2_1 = self.aoc2 - self.aoc1 aoc_3_3 = self.aoc3 - self.aoc3 orb_2_3 = MOrbital(1, -0.20, 0.50, [aoc_1_2, aoc_2_1, aoc_3_3]) self.assertEqual((self.orb2 - self.orb3).contributions, orb_2_3.contributions)
class TestOrbital(unittest.TestCase): def setUp(self): self.orb1 = MOrbital() self.orb1_dup = MOrbital() self.aoc1 = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc1_dup = AO_Contrib(1, 'Mn', 'px', 0.3) self.aoc2 = AO_Contrib(2, 'O', 'f-1', 0.5) self.aoc3 = AO_Contrib(2, 'O', 'f+2', 0.2) self.orb2 = MOrbital(1, None, -0.34, 1.00, [self.aoc1, self.aoc2, self.aoc3]) self.orb3 = MOrbital(1, None, -0.14, 0.50, [self.aoc2, self.aoc1, self.aoc3]) def test_init(self): self.assertTrue(self.orb1 == self.orb1_dup) self.assertFalse(self.orb1 == self.orb2) self.assertEqual(self.orb2.atom_sum(2), 0.7) self.assertEqual(self.orb2.atom_sum('F'), 0.0) self.assertEqual(self.orb2.orbital_type_sum(1, 'd'), 0) self.assertEqual(self.orb2.orbital_type_sum(9, 'p'), 0) self.assertEqual(self.orb2.orbital_type_sum(2, 'f'), 0.7) def test_sub(self): # Blank - Blank == Blank self.assertEqual(self.orb1 - self.orb1_dup, self.orb1) # A - Blank == A self.assertEqual((self.orb2 - self.orb1).contributions, self.orb2.contributions) # A - B aoc_1_2 = self.aoc1 - self.aoc2 aoc_2_1 = self.aoc2 - self.aoc1 aoc_3_3 = self.aoc3 - self.aoc3 orb_2_3 = MOrbital(1, None, -0.20, 0.50, [aoc_1_2, aoc_2_1, aoc_3_3]) self.assertEqual((self.orb2 - self.orb3).contributions, orb_2_3.contributions)
def test_read_write(self): op = OP('H2O.dat') ao_contrib = AO_Contrib(1, 'O', 'px', 100.0) self.assertEqual(op.orb_list[4].contributions[0], ao_contrib) c1 = AO_Contrib(0, 'H', 's', 19.6) c2 = AO_Contrib(1, 'O', 'pz', 30.4) c3 = AO_Contrib(1, 'O', 'py', 30.4) c4 = AO_Contrib(2, 'H', 's', 19.6) contributions = [c1, c2, c3, c4] mo = MOrbital(2, None, -0.49905, 2, contributions) self.assertEqual(op[2], mo) op.write('tmp.csv', 'csv') op_dup = OP('tmp.csv') self.assertEqual(op, op_dup) os.remove('tmp.csv') # Test UKS open shell op = OP('H2O+.dat') ao_contrib = AO_Contrib(1, 'O', 'px', 100.0, 1) self.assertEqual(op.orb_list[3].contributions[0], ao_contrib)