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
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')