def test_parse_molpro_basis(self): basis_str = ''' C s aug-cc-pVTZ AVTZ : 11 5 1.10 1.10 8.8 10.10 11.11 aug-cc-pVTZ 8236 1235 280.8 79.27 25.59 8.997 3.319 0.9059 0.3643 0.1285 0.04402 0.000531 0.004108 0.021087 0.081853 0.234817 0.434401 0.346129 0.039378 -0.008983 0.002385 -0.000113 -0.000878 -0.00454 -0.018133 -0.05576 -0.126895 -0.170352 0.140382 0.598684 0.395389 1 1 1 C p aug-cc-pVTZ AVTZ : 6 4 1.5 4.4 5.5 6.6 aug-cc-pVTZ 18.71 4.133 1.2 0.3827 0.1209 0.03569 0.014031 0.086866 0.290216 0.501008 0.343406 1 1 1 C d aug-cc-pVTZ AVTZ : 3 0 aug-cc-pVTZ 1.097 0.318 0.1 C f aug-cc-pVTZ AVTZ : 2 0 aug-cc-pVTZ 0.761 0.268 ''' basis1 = parse_molpro.parse(basis_str) ref = gto.basis.parse(''' #BASIS SET: (11s,6p,3d,2f) -> [5s,4p,3d,2f] C S 8236.0000000 0.0005310 -0.0001130 0.0000000 0.0000000 0 1235.0000000 0.0041080 -0.0008780 0.0000000 0.0000000 0 280.8000000 0.0210870 -0.0045400 0.0000000 0.0000000 0 79.2700000 0.0818530 -0.0181330 0.0000000 0.0000000 0 25.5900000 0.2348170 -0.0557600 0.0000000 0.0000000 0 8.9970000 0.4344010 -0.1268950 0.0000000 0.0000000 0 3.3190000 0.3461290 -0.1703520 0.0000000 0.0000000 0 0.9059000 0.0393780 0.1403820 1.0000000 0.0000000 0 0.3643000 -0.0089830 0.5986840 0.0000000 0.0000000 0 0.1285000 0.0023850 0.3953890 0.0000000 1.0000000 0 0.0440200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 C P 18.7100000 0.0140310 0.0000000 0.0000000 0 4.1330000 0.0868660 0.0000000 0.0000000 0 1.2000000 0.2902160 0.0000000 0.0000000 0 0.3827000 0.5010080 1.0000000 0.0000000 0 0.1209000 0.3434060 0.0000000 1.0000000 0 0.0356900 0.0000000 0.0000000 0.0000000 1.0000000 C D 1.0970000 1.0000000 C D 0.3180000 1.0000000 C D 0.1000000 1.0000000 C F 0.7610000 1.0000000 C F 0.2680000 1.0000000 END''') self.assertEqual(ref, basis1) basis_str = ''' c s 631g sv : 10 3 1.6 7.9 10.10 3047.52500d+00 457.369500d+00 103.948700d+00 29.2101600d+00 9.28666300d+00 3.16392700d+00 7.86827200d+00 1.88128900d+00 0.54424930d+00 0.16871440d+00 1.83473700d-03 1.40373200d-02 0.06884262d+00 0.23218444d+00 0.46794130d+00 0.36231200d+00 -0.11933240d+00 -0.16085420d+00 1.14345600d+00 1.00000000d+00 c p 631g sv : 4 2 1.3 4.4 7.86827200d+00 1.88128900d+00 0.54424930d+00 0.16871440d+00 0.06899907d+00 0.31642340d+00 0.74430830d+00 1.00000000d+00 ''' basis1 = parse_molpro.parse(basis_str) ref = gto.basis.parse(''' #BASIS SET: (10s,4p) -> [3s,2p] C S 3047.5250000 0.001834737 0 0 457.3695000 0.01403732 0 0 103.9487000 0.06884262 0 0 29.2101600 0.23218444 0 0 9.2866630 0.4679413 0 0 3.1639270 0.3623120 0 0 7.8682720 0 -0.1193324 0 1.8812890 0 -0.1608542 0 0.5442493 0 1.1434560 0 0.1687144 0 0.0000000 1 C P 7.8682720 0.06899907 0 1.8812890 0.3164234 0 0.5442493 0.7443083 0 0.1687144 0 1 END ''') self.assertEqual(ref, basis1)