Example #1
0
    def test_loadObjectCSVStyle(self):
        th = TestHelper()
        o = DataObj()
        s = \
"""
fld1,fld2,fld3,ival,fval
val1,val2,val3,1234,12.0
"""
        th.load_object_csv_style(o, s)
        self.assertTrue(hasattr(o, 'fld1'))
        self.assertFalse(hasattr(o, 'fldx'))
        self.assertEqual(o.fld1, 'val1')
        self.assertEqual(o.fld3, 'val3')
        self.assertEqual(o.ival, 1234)
        self.assertEqual(o.fval, 12.0)
    def test_calcSaskGasBaseRoyaltyCalcRate(self):
        econ_string_data = """
CharMonth,ProdMonth,G4T_C,G4T_D,G4T_K,G4T_X,G3T_C,G3T_K,G3T_X,GNEW_C,GNEW_K,GNEW_X,GOLD_C,GOLD_K,GOLD_X
Sept.,201509,0.1185,2.96,24.39,1578,0.1434,33.10,1910,0.1593,36.77,2121,0.2062,47.59,2745
"""
        th = TestHelper()
        econ_gas_data = DataStructure()
        th.load_object_csv_style(econ_gas_data, econ_string_data)
        pr = ProcessRoyalties()
        royalty_calc = DataStructure()

        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Fourth Tier Gas", 0, 0, "GasWells"),
            0,
        )
        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Fourth Tier Gas", 30, 0, "GasWells"),
            0.595,
        )
        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(
                royalty_calc, econ_gas_data, "Fourth Tier Gas", 200, 0, "GasWells"
            ),
            16.5,
        )

        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Fourth Tier Gas", 0, 0, "OilWells"),
            0,
        )
        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(
                royalty_calc, econ_gas_data, "Fourth Tier Gas", 220, 0, "OilWells"
            ),
            17.217273,
        )

        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Third Tier Gas", 100, 0.75, None),
            13.59,
        )
        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Third Tier Gas", 200, 1, None), 22.55
        )

        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "New Gas", 50, 2.25, None), 5.715
        )
        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "New Gas", 130, 0.75, None), 19.704615
        )

        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Old Gas", 20, 1, None), 3.124
        )
        self.assertEqual(
            pr.calc_sask_gas_prov_crown_royalty_rate(royalty_calc, econ_gas_data, "Old Gas", 150, 0.5, None), 28.79
        )

        self.assertRaises(
            AppError,
            pr.calc_sask_gas_prov_crown_royalty_rate,
            royalty_calc,
            econ_gas_data,
            "Fourth Tier Gas",
            20,
            1,
            "Bad String",
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_gas_prov_crown_royalty_rate,
            royalty_calc,
            econ_gas_data,
            "Bad String",
            20,
            1,
            "GasWells",
        )
    def test_calcSaskOilBaseRoyaltyCalcRate(self):
        econ_string_data = """
CharMonth,ProdMonth,HOP,SOP,NOP,H4T_C,H4T_D,H4T_K,H4T_X,H3T_K,H3T_X,HNEW_K,HNEW_X,SW4T_C,SW4T_D,SW4T_K,SW4T_X,SW3T_K,SW3T_X,SWNEW_K,SWNEW_X,O4T_C,O4T_D,O4T_K,O4T_X,O3T_K,O3T_X,ONEW_K,ONEW_X,OOLD_K,OOLD_X
Sept.,201509,162,210,276,0.0841,2.1,20.81,1561,20.46,472,26.48,611,0.1045,2.61,25.85,1939,31.57,729,38.54,890,0.1209,3.02,29.91,2243,36.08,833,40.79,941,52.61,1214
"""
        # All this work so we don't need to read from the database. It's a way better test.
        econ_oil_data = DataStructure()
        th = TestHelper()
        royalty_calc = DataStructure()

        th.load_object_csv_style(econ_oil_data, econ_string_data)

        pr = ProcessRoyalties()

        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Fourth Tier Oil", "Heavy", 24, 0), 0
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Fourth Tier Oil", "Heavy", 100, 0),
            0.0631,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(
                royalty_calc, econ_oil_data, "Fourth Tier Oil", "Southwest", 100, 0
            ),
            0.0784,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Fourth Tier Oil", "Other", 130, 0),
            0.12697,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Fourth Tier Oil", "Heavy", 140, 0),
            0.0966,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(
                royalty_calc, econ_oil_data, "Fourth Tier Oil", "Southwest", 136.3, 0
            ),
            0.11624028,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Fourth Tier Oil", "Other", 150, 0),
            0.14956667,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Fourth Tier Oil", "Other", 0, 0), 0
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Fourth Tier Oil",
            "BadString",
            120,
            0,
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Fourth Tier Oil",
            "BadString",
            140,
            0,
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Bad String",
            "Heavy",
            120,
            0,
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Bad String",
            "Southwest",
            120,
            0,
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Bad String",
            "Other",
            120,
            0,
        )

        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(
                royalty_calc, econ_oil_data, "Third Tier Oil", "Heavy", 100, 0.0075
            ),
            0.1499,
        )
        self.assertAlmostEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "New Oil", "Heavy", 100, 0.0075),
            0.19620000,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "New Oil", "Heavy", 0, 0), 0
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Third Tier Oil",
            "Bad String",
            120,
            0,
        )

        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(
                royalty_calc, econ_oil_data, "Third Tier Oil", "Southwest", 120, 0
            ),
            0.25495000,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "New Oil", "Southwest", 130, 0.0075),
            0.30943846,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "New Oil", "Southwest", 0, 0), 0
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "New Oil",
            "Bad String",
            120,
            0,
        )

        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(
                royalty_calc, econ_oil_data, "Third Tier Oil", "Other", 120, 0.0225
            ),
            0.26888333,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "New Oil", "Other", 110, 0),
            0.32235455,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Old Oil", "Other", 100, 0.0075),
            0.39720000,
        )
        self.assertEqual(
            pr.calc_sask_oil_prov_crown_royalty_rate(royalty_calc, econ_oil_data, "Old Oil", "Other", 0, 0), 0
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Old Oil",
            "Bad String",
            120,
            0,
        )

        self.assertRaises(
            AppError, pr.calc_sask_oil_prov_crown_royalty_rate, royalty_calc, econ_oil_data, "Old Oil", "Heavy", 120, 0
        )
        self.assertRaises(
            AppError,
            pr.calc_sask_oil_prov_crown_royalty_rate,
            royalty_calc,
            econ_oil_data,
            "Old Oil",
            "Southwest",
            120,
            0,
        )
        self.assertRaises(
            AppError, pr.calc_sask_oil_prov_crown_royalty_rate, royalty_calc, econ_oil_data, None, None, 120, 0
        )

        return
Example #4
0
 def test_whatAmI(self):
     th = TestHelper()
     self.assertEqual(th.what_am_i('123.4'), 123.4)
     self.assertEqual(th.what_am_i('1'), 1)
     self.assertEqual(type(th.what_am_i('1')), int)
     self.assertEqual(th.what_am_i('asdf'), 'asdf')