def test_evaluate_and_resolve_expression(self): expression = Expression() util = DatabaseUtilities() util.delete_lookups() util.insert_lookups('somevalue', 0, 2) util.insert_lookups('m.monthval', 201703, 4) monthly = DataStructure() monthly.ProdMonth = 201703 monthly.ProdVol = 100 monthly.SalesVol = 90 monthly.GJ = 1000 monthly.Heat = 65.01 s = "asdf =(prod + sales + gj + heat + somevalue + m.monthval) more stuff in here" self.assertEqual(1196 + 65.01, expression.evaluate_expression(s, monthly)) self.assertEqual( "asdf =(100 + 90 + 1000 + 65.01 + 2 + 4) more stuff in here", expression.resolve_expression(s, monthly)) s = "asdf =(prod + sales + gj + notfoundvalue) more stuff in here" self.assertRaises(AppError, expression.evaluate_expression, s, monthly)
def setUp(self): self.assertEqual('unittest', config.get_environment()) # Destructive Tests must run in unittest environment self.dbi = config.get_database_instance() self.db = config.get_database() self.dbu = DatabaseUtilities() self.db_create = DatabaseCreate() self.dbu.delete_all_tables()
def test_get_column_name(self): instance = config.get_database_instance() db_utils = DatabaseUtilities() db_utils.delete_all_tables() instance.execute('create table ' + self.TEST_TABLE_NAME + ' (myKey int, myText text, myDate date)') instance.execute('insert into ' + self.TEST_TABLE_NAME + " values (1, 'Test Item One', '2016-02-14')") instance.execute('select * from ' + self.TEST_TABLE_NAME) columns = instance.get_column_names() self.assertEqual(columns[0], 'myKey') self.assertEqual(columns[1], 'myText') self.assertEqual(columns[2], 'myDate')
def setUp(self): self.assertEqual( config.get_environment(), 'unittest') # Distructive Tests must run in unittest enviornment db_utils = DatabaseUtilities() db_utils.delete_all_tables() instance = config.get_database_instance() instance.execute('create table ' + self.TEST_TABLE_NAME + ' (myKey int, myText text, myDate date)') instance.commit() instance.execute('insert into ' + self.TEST_TABLE_NAME + " values (1, 'Test Item One', '2016-02-14')") instance.execute('insert into ' + self.TEST_TABLE_NAME + " values (2, 'Test Item Two', '2016-02-14')") instance.commit()
def test_lookup_vars(self): expression = Expression() util = DatabaseUtilities() util.delete_lookups() util.insert_lookups('somevalue', 0, 1234) util.insert_lookups('m.monthval', 201703, 5678) monthly = DataStructure() monthly.ProdMonth = 201703 monthly.ProdVol = 100 monthly.SalesVol = 90 monthly.GJ = 1000 monthly.Heat = 65.01 monthly.SalesPrice = 50.00 monthly.TransRate = 10.00 monthly.ProcessingRate = 5.00 monthly.GCARate = 3.00 calc = DataStructure() calc.RoyaltyPrice = 27.12 rv = expression.lookup_vars( { "prod", "sales", "gj", "heat", "price", "trans", "processing", "gca", "royalty_price", "somevalue", "m.monthval" }, monthly, calc) self.assertEqual(100, rv["prod"]) self.assertEqual(90, rv["sales"]) self.assertEqual(1000, rv["gj"]) self.assertEqual(65.01, rv["heat"]) self.assertEqual(50, rv["price"]) self.assertEqual(10, rv["trans"]) self.assertEqual(5, rv["processing"]) self.assertEqual(3, rv["gca"]) self.assertEqual(27.12, rv["royalty_price"]) self.assertEqual(1234, rv["somevalue"]) self.assertEqual(5678, rv["m.monthval"]) self.assertRaises(AppError, expression.lookup_vars, {"notfooundvalue"}, monthly) monthly.GJ = None self.assertRaises(AppError, expression.lookup_vars, {"gj", "sales"}, monthly)
def load_sample_data(): from tests.database.sqlite_utilities_test import DatabaseUtilities dbu = DatabaseUtilities() drop_create_tables() dbu.create_some_test_well_royalty_masters() dbu.create_some_test_leases()
def drop_table(table_name): from tests.database.sqlite_utilities_test import DatabaseUtilities dbu = DatabaseUtilities() dbu.delete_table(table_name)
def drop_create_tables(): from tests.database.sqlite_utilities_test import DatabaseUtilities dbu = DatabaseUtilities() dbu.delete_all_tables() create_tables()
def test_all(self): dbu = DatabaseUtilities() dbc = DatabaseCreate() dbu.delete_all_tables() dbc.create_all()