示例#1
0
    def bank__get_parameters_from_file(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 bank.get_parameters_from_file \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 bank__get_parameters_from_file in run: %s',
            environment_directory + identifier + ".xml")

        # Construct bank filename
        environment = Environment(environment_directory, identifier)

        # get the bank_directory from the environment
        bank_directory = environment.bank_directory
        # and loop over all banks in the directory
        listing = os.listdir(bank_directory)
        bank_filename = bank_directory + listing[0]

        # generate a household
        household = Household()
        environment.households.append(household)

        # generate a firm
        firm = Firm()
        environment.firms.append(firm)

        # generate the bank
        bank = Bank()
        environment.banks.append(bank)
        bank.get_parameters_from_file(bank_filename, environment)

        #
        # TESTING
        #

        # test whether the parameters are read properly
        text = "Identifier has been read as follows: \n"
        text = text + "Identifier: "
        text = text + bank.identifier
        text = text + "\n"
        self.print_info(text)
示例#2
0
    def bank__get_parameters(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 bank.get_parameters \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 bank__get_parameters in run: %s',
                     environment_directory + identifier + ".xml")

        # Construct bank filename
        environment = Environment(environment_directory,  identifier)

        # get the bank_directory from the environment
        bank_directory = environment.bank_directory
        # and loop over all banks in the directory
        listing = os.listdir(bank_directory)
        bank_filename = bank_directory + listing[0]

        # generate a household
        household = Household()
        household.identifier = "test_household"
        environment.households.append(household)

        # generate a firm
        firm = Firm()
        firm.identifier = "test_firm"
        environment.firms.append(firm)

        # generate the bank
        bank = Bank()
        environment.banks.append(bank)
        helper = Helper()
        helper.initialize_standard_bank(bank, environment)
        bank.get_parameters_from_file(bank_filename, environment)

        #
        # TESTING
        #

        text = "Parameters:"
        print(text)
        print(bank.get_parameters())
示例#3
0
    def initialize_banks_from_files(self,  bankDirectory, state,  time):
        from src.bank import Bank
        # this routine is called more than once, so we have to reset the list of banks each time
        self.banks = []

        listing = os.listdir(bankDirectory)
        if (len(listing) != self.static_parameters["numBanks"]):
            logging.error("    ERROR: number of configuration files in %s (=%s) does not match numBanks (=%s)",  bankDirectory,  str(len(listing)), str(self.static_parameters["numBanks"]))

        for infile in listing:
            bank = Bank()
            bank.get_parameters_from_file(bankDirectory + infile,  self.get_state(0),  self.static_parameters["numBanks"], time)
            self.banks.append(bank)
            bank.__del__()  # TODO not sure if this is really safe, but it is better than doing nothing about all those created instances...
示例#4
0
 def initialize_banks_from_files(self,  bank_directory):
     from src.bank import Bank
     # this routine is called more than once, so we have to reset the list of banks each time
     self.banks = []
     # we list all the files in the specified directory
     listing = os.listdir(bank_directory)
     # and check if the number of files is in line with the parameters
     if (len(listing) != self.num_banks):
         logging.error("    ERROR: number of configuration files in %s (=%s) does not match num_banks (=%s)",
                       bank_directory,  str(len(listing)), str(self.num_banks))
     # we read the files sequentially
     for infile in listing:
         bank = Bank()
         bank.get_parameters_from_file(bank_directory + infile,  self)
         # and read parameters to the banks, only to add them to the environment
         self.banks.append(bank)
示例#5
0
 def initialize_banks_from_files(self,  bank_directory):
     from src.bank import Bank
     # this routine is called more than once, so we have to reset the list of banks each time
     self.banks = []
     # we list all the files in the specified directory
     listing = os.listdir(bank_directory)
     # and check if the number of files is in line with the parameters
     if (len(listing) != self.num_banks):
         logging.error("    ERROR: number of configuration files in %s (=%s) does not match num_banks (=%s)",
                       bank_directory,  str(len(listing)), str(self.num_banks))
     # we read the files sequentially
     for infile in listing:
         bank = Bank()
         bank.get_parameters_from_file(bank_directory + infile,  self)
         # and read parameters to the banks, only to add them to the environment
         self.banks.append(bank)
示例#6
0
    def initialize_banks_from_files(self, bankDirectory, state, time):
        # this routine is called more than once, so we have to reset the list of banks each time
        self.banks = []

        listing = os.listdir(bankDirectory)
        # print('listing', listing)
        if len(listing) != self.parameters.numBanks:
            logging.error("    ERROR: number of configuration files in %s (=%s) does not match numBanks (=%s)",
                          bankDirectory, str(len(listing)), str(self.parameters.numBanks))

        for infile in listing:
            # print("infile", infile)
            bank = Bank()
            bank.get_parameters_from_file(bankDirectory + infile, self.get_state(0), self.parameters.numBanks, time)
            # print("bank", bank)
            self.banks.append(bank)
            bank.__del__()  # TODO not sure if this is really safe, but it is better than doing nothing about all those created instances...