def _get_all_total_wateruse_for_tests(wateruse_files, id_list, wateruse_factor_file = None, in_cfs = False): """ Test get_all_total_wateruse - strictly a test function here that mirrors get_all_total_wateruse in water.py but creates fileobj from StringIO instead of reading a file path """ # calculate average values for a list of water use files all_total_wateruse_dict = {} for wateruse_file in wateruse_files: fileobj = StringIO(wateruse_file) wateruse_data = wateruse.read_file_in(fileobj) # if water use factor file is supplied, then apply factors if wateruse_factor_file: # read water use factor file fileobj_factors = StringIO(wateruse_factor_file) wateruse_factors = wateruse.read_factor_file_in(fileobj_factors) # calculate average wateruse for a list of ids total_wateruse_dict = wateruse.get_total_wateruse(wateruse_data = wateruse_data, id_list = id_list, wateruse_factors = wateruse_factors) else: # calculate average wateruse for a list of ids total_wateruse_dict = wateruse.get_total_wateruse(wateruse_data = wateruse_data, id_list = id_list) # convert values to cfs if in_cfs: for key, value in total_wateruse_dict.iteritems(): value_cfs = wateruse.convert_wateruse_units(value) total_wateruse_dict[key] = value_cfs # update dictionary all_total_wateruse_dict.update(total_wateruse_dict) return all_total_wateruse_dict
def test_read_factor_file_in(): """ Test read_factor_file_in() """ # description of test description = "Test read_file_in() - test reading of water use files; using simplified water use formatted file" # expected values expected = {"column_names": ["AqGwWL", "CoGwWL", "DoGwWL", "InGwWL", "IrGwWL"], "AqGwWL": 2.0, "CoGwWL": 2.0, "DoGwWL": 2.0, "InGwWL": 2.0, "IrGwWL": 2.0 } # create test data fileobj = StringIO(fixture["factor_file"]) # read file object actual = wateruse.read_factor_file_in(fileobj) # assert equality _perform_assertion(actual, expected, description = description)