def household__purge_accounts(self, args): import os from src.bank import Bank from src.household import Household from src.firm import Firm from src.environment import Environment # needed for the bankDirectory text = "This test checks household.purge_accounts \n" text = text + " Checking if after the purge_accounts the total amount \n" text = text + " of transactions in the household stays the same. \n" self.print_info(text) # # INITIALIZATION # environment_directory = str(args[0]) identifier = str(args[1]) log_directory = str(args[2]) # Configure logging parameters so we get output while the program runs logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_directory + identifier + ".log", level=logging.INFO) logging.info('START logging for test household__purge_accounts in run: %s', environment_directory + identifier + ".xml") # Construct household filename environment = Environment(environment_directory, identifier) # get the firm_directory from the environment household_directory = environment.household_directory # and loop over all firms in the directory listing = os.listdir(household_directory) householdFilename = household_directory + listing[0] # generate a bank bank = Bank() bank.identifier = "test_bank" environment.banks.append(bank) # generate a firm firm = Firm() firm.identifier = "test_firm" environment.firms.append(firm) # generate a household household = Household() environment.households.append(household) helper = Helper() helper.initialize_standard_household(household, environment) # # TESTING # account = 0.0 tranx = 0 for transaction in household.accounts: account = account + transaction.amount tranx = tranx + 1 print(tranx) print(account) household.add_transaction("deposits", "", environment.banks[0:1][0], household.identifier, 0.0, 0.09, 0, -1, environment) # environment.banks[0:1][0] is only for testing purposes DO NOT USE IN PRODUCTION # what it does is is takes the first bank in environment, but if there are no # banks (which happens in testing) it doesn't break down account = 0.0 tranx = 0 for transaction in household.accounts: account = account + transaction.amount tranx = tranx + 1 print(tranx) print(account) household.accounts[0].purge_accounts(environment) account = 0.0 tranx = 0 for transaction in household.accounts: account = account + transaction.amount tranx = tranx + 1 print(tranx) print(account)
def household__add_transaction(self, args): import os from src.bank import Bank from src.household import Household from src.firm import Firm from src.environment import Environment # needed for the bankDirectory text = "This test checks household.add_transaction \n" text = text + " The most simple way to test this function is to assign an new \n" text = text + " transaction to our household. Therefore, lets just assign the following \n" text = text + " transaction and check whether it has been added: \n" text = text + ' (type = "deposits", fromID = -1, toID = household.identifier, amount = 10, \n' text = text + " interest = 0.09, maturity = 0, timeOfDefault = -1) \n" self.print_info(text) # # INITIALIZATION # environment_directory = str(args[0]) identifier = str(args[1]) log_directory = str(args[2]) # Configure logging parameters so we get output while the program runs logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_directory + identifier + ".log", level=logging.INFO) logging.info('START logging for test household__add_transaction in run: %s', environment_directory + identifier + ".xml") # Construct household filename environment = Environment(environment_directory, identifier) # get the firm_directory from the environment household_directory = environment.household_directory # and loop over all firms in the directory listing = os.listdir(household_directory) householdFilename = household_directory + listing[0] # generate a bank bank = Bank() bank.identifier = "test_bank" environment.banks.append(bank) # generate a firm firm = Firm() firm.identifier = "test_firm" environment.firms.append(firm) # generate a household household = Household() environment.households.append(household) helper = Helper() helper.initialize_standard_household(household, environment) # # TESTING # print(household) print("Adding new transaction: \n") household.add_transaction("deposits", "", environment.banks[0:1][0], household.identifier, 10, 0.09, 0, -1, environment) # environment.banks[0:1][0] is only for testing purposes DO NOT USE IN PRODUCTION # what it does is is takes the first bank in environment, but if there are no # banks (which happens in testing) it doesn't break down print(household)