def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3, 4]), 'relative_x': array([1, 2, 1, 2]), 'relative_y': array([1, 1, 2, 2]), 'number_of_jobs_of_group_basic': array([100, 1000, 500, 1500]), }, 'urbansim_constant': { "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } }) should_be = array([1800.0, 4600.0, 3100.0, 6000.0]) instance_name = "urbansim.gridcell.basic_sector_employment_within_walking_distance" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['psrc_parcel','urbansim_parcel', 'urbansim'], test_data={ 'travel_data': { 'from_zone_id': array([1, 3, 1, 368, 416]), 'to_zone_id' :array( [ 2, 2, 3, 416, 368]), 'travel_time': array([ 150, 73, 230, 15.5, 17.2]) }, 'node_travel_data': { 'from_node_id': array([2873, 1348, 1421, 4835, 6628, 6523, 10, 2189]), 'to_node_id': array([1348, 1421, 1348, 6628, 6523, 6628, 15, 2190]), 'travel_time': array([ 1.1, 0.4, 0.9, 2.5, 3.6, 0.1, 8.7, 0.8]) }, 'commute_travel_data': { 'from_node_id': array([2873, 4835, 10]), 'to_node_id': array([4835, 2873, 20]) } } ) should_be = array([15.5-1.1-0.4-2.5-3.6, 17.2-1.1-0.4-2.5-3.6, 0]) instance_name = 'psrc_parcel.commute_travel_data.subtract_from_travel_data_travel_time' tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=["psrc_parcel", "urbansim_parcel", "urbansim"], test_data={ "development_project_proposal": { "proposal_id": array([1, 2, 3, 4, 5]), "units_proposed": array([34, 250, 130, 0, 52]), "parcel_id": array([1, 1, 2, 3, 3]), }, "development_project_proposal_component": { "proposal_component_id": arange(8) + 1, "proposal_id": array([3, 3, 5, 2, 5, 1, 3, 1]), "building_type_id": array([19, 2, 4, 19, 1, 2, 3, 19]), "template_id": array([4, 2, 1, 3, 2, 2, 4, 1]), "percent_building_sqft": array([30, 25, 1, 100, 99, 90, 45, 10]), "is_residential": array([True, False, True, True, False, True, False, True]), "building_sqft_per_unit": array([3.5, 1, 20, 1, 1, 0.1, 10, 50]), }, "development_template": { "template_id": array([1, 2, 3, 4]), "density_type": array(["units_per_acre", "far", "units_per_acre", "far"]), }, "parcel": {"parcel_id": array([1, 2, 3, 4])}, }, ) instance_name = "psrc_parcel.parcel.units_proposed_for_building_type_19" should_be = array([array([34 / 100.0 * 10 / 50.0, 250]).max(), 130 / 100.0 * 30 / 3.5, 0, 0]) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['psrc_parcel', 'psrc', 'urbansim_parcel', 'urbansim', 'opus_core'], test_data={ "person":{ 'person_id': array([1, 2, 3, 4, 5, 6]), 'household_id':array([1, 1, 2, 3, 3, 5]), #hhzone_id :array([3, 3, 1, 1, 1, 2]), 'job_id': array([1, 2, -1, -1, 2, 3]), #jobzone_id: array([1, 2, -1, -1, 2, 3]) }, "job":{ 'job_id': array([1, 2, 3]), 'zone_id':array([1, 2, 3]), }, "household":{ 'household_id':array([1, 2, 3, 4, 5]), 'zone_id': array([3, 1, 1, 1, 2]), 'income': array([10000, 45000, 40000, 5000, 0]) }, 'travel_data_link':{ 'travel_data_link_id': array([1]), 'data_link': array([self.temp_dir]), }, }) should_be = array([66.4, 121, 0, 0, 36.6, 108]) tester.test_is_close_for_family_variable(self, should_be, self.variable_name)
def test_my_inputs(self): home_access_to_population = array([0.0, 5000.0, 12000.0]) locations_in_zoneid = array([1, 1, 3, 2, 2]) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "zone": { "zone_id": array([1, 2, 3]), "home_access_to_population_2": home_access_to_population }, "gridcell": { "grid_id": array([1, 2, 3, 4, 5]), "zone_id": locations_in_zoneid } }) # since we're using bounded log, we get 0.0 for the 0 value of home_access_to_population should_be = array([0.0, 0.0, log(12000.0), log(5000.0), log(5000.0)]) # The number of cars is 2 in this test instance_name = "urbansim.gridcell.ln_home_access_to_population_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['psrc_parcel', 'urbansim_parcel', 'urbansim'], test_data={ 'travel_data': { 'from_zone_id': array([1, 3, 1, 368, 416]), 'to_zone_id': array([2, 2, 3, 416, 368]), 'travel_time': array([150, 73, 230, 15.5, 17.2]) }, 'node_travel_data': { 'from_node_id': array([2873, 1348, 1421, 4835, 6628, 6523, 10, 2189]), 'to_node_id': array([1348, 1421, 1348, 6628, 6523, 6628, 15, 2190]), 'travel_time': array([1.1, 0.4, 0.9, 2.5, 3.6, 0.1, 8.7, 0.8]) }, 'commute_travel_data': { 'from_node_id': array([2873, 4835, 10]), 'to_node_id': array([4835, 2873, 20]) } }) should_be = array( [15.5 - 1.1 - 0.4 - 2.5 - 3.6, 17.2 - 1.1 - 0.4 - 2.5 - 3.6, 0]) instance_name = 'psrc_parcel.commute_travel_data.subtract_from_travel_data_travel_time' tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3, 4]), 'relative_x': array([1, 2, 1, 2]), 'relative_y': array([1, 1, 2, 2]), 'buildings_residential_space': array([100.0, 500.0, 1000.0, 1500.0]), }, 'urbansim_constant': { "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), "acres": array([105.0]), } }) should_be = array([1800.0, 3100.0, 4600.0, 6000.0]) instance_name = "urbansim.gridcell.total_buildings_residential_space_within_walking_distance" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['zurich_parcel', 'urbansim_parcel', 'urbansim'], test_data={ 'parcel': { "parcel_id": array([1, 2, 3]), "x_coord_sp": array([1, 2, 4 ]), "y_coord_sp": array([1, 1, 1 ]), }, 'job': { "job_id":array([1,2,3,4,5,6,7]), "building_id":array([1,2,3,4,5,6,7]), }, 'building': { "building_id":array([1,2,3,4,5,6,7]), "parcel_id":array([1,2,2,2,2,1,3]), }, }) should_be = array([3.47151776, 4.87109417, 1.54134113]) instance_name = 'zurich_parcel.parcel.jobs_within_2_of_parcel_weighted' tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): faz_id = array([1, 2, 3, 4]) number_of_jobs_of_sector_2 = array([1,4,2,1]) grid_id = array([101,103,105,107]) gc_faz_id = array([1, 2, 1, 3]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "faz":{ "faz_id":faz_id, "number_of_jobs_of_sector_2":number_of_jobs_of_sector_2 }, "gridcell":{ "grid_id":grid_id, "faz_id":gc_faz_id } } ) should_be = array([1, 4, 1, 2]) instance_name = "urbansim.gridcell.sector_2_jobs_in_faz" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3, 4]), 'relative_x': array([1, 2, 1, 2]), 'relative_y': array([1, 1, 2, 2]), 'residential_units': array([1, 2, 3, 4]), 'n_residential_units_recently_added': array([1, 0, 1, 1]), }, 'urbansim_constant': { 'recent_years': array([3]), "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), "acres": array([105.0]), } }) should_be = array([4.0, 2.0, 5.0, 4.0]) instance_name = 'urbansim.gridcell.n_residential_units_recently_added_within_walking_distance' tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): gridcell_grid_id = array([1, 2, 3]) #specify an array of 4 buildings, 1st buildings's grid_id = 2 (it's in gridcell 2), etc. b_grid_id = array([2, 1, 3, 1]) #corresponds to above building array, specifies which buildings in which locations are in the group of interest single_family = array([0, 1, 1, 1]) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": gridcell_grid_id }, "building": { "building_id": array([1, 2, 3, 4]), "grid_id": b_grid_id, "is_building_type_single_family": single_family } }) should_be = array([2, 0, 1]) instance_name = "urbansim.gridcell.number_of_single_family_buildings" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): gridcell_grid_id = array([1, 2, 3]) # specify an array of 4 jobs, 1st job's grid_id = 2 (it's in gridcell 2), etc. job_grid_id = array([2, 1, 3, 1]) # corresponds to above job array, specifies which jobs in which locations "qualify" is_in_employment_sector = array([0, 1, 1, 1]) home_based = array([1, 0, 1, 0]) tester = VariableTester( __file__, package_order=["urbansim"], test_data={ "gridcell": {"grid_id": gridcell_grid_id}, "job": { "job_id": array([1, 2, 3, 4]), "grid_id": job_grid_id, "is_in_employment_sector_2": is_in_employment_sector, "is_home_based_job": home_based, }, }, ) should_be = array([2, 0, 0]) instance_name = "urbansim.gridcell.number_of_non_home_based_jobs_of_sector_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): gridcell_grid_id = array([1, 2, 3]) #specify an array of 4 buildings, 1st buildings's grid_id = 2 (it's in gridcell 2), etc. b_grid_id = array([2, 1, 3, 1]) #corresponds to above building array, specifies which buildings in which locations are in the group of interest single_family = array([0, 1, 1, 1]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":gridcell_grid_id }, "building":{ "building_id":array([1,2,3,4]), "grid_id":b_grid_id, "is_building_type_single_family":single_family } } ) should_be = array([2, 0, 1]) instance_name = "urbansim.gridcell.number_of_single_family_buildings" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): gridcell_grid_id = array([1, 2, 3]) #specify an array of 4 jobs, 1st job's grid_id = 2 (it's in gridcell 2), etc. job_grid_id = array([2, 1, 3, 1]) #corresponds to above job array, specifies which jobs in which locations "qualify" is_in_employment_sector = array([0, 1, 1, 1]) home_based = array([1, 0, 1, 0]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":gridcell_grid_id }, "job":{ "job_id":array([1,2,3,4]), "grid_id":job_grid_id, "is_in_employment_sector_2":is_in_employment_sector, "is_home_based_job":home_based } } ) should_be = array([2, 0, 0]) instance_name = "urbansim.gridcell.number_of_non_home_based_jobs_of_sector_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): faz_id = array([1, 2, 3, 4]) number_of_jobs_of_sector_2 = array([1, 4, 2, 1]) grid_id = array([101, 103, 105, 107]) gc_faz_id = array([1, 2, 1, 3]) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "faz": { "faz_id": faz_id, "number_of_jobs_of_sector_2": number_of_jobs_of_sector_2 }, "gridcell": { "grid_id": grid_id, "faz_id": gc_faz_id } }) should_be = array([1, 4, 1, 2]) instance_name = "urbansim.gridcell.sector_2_jobs_in_faz" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ "parcel":{ "parcel_id":array([1,2,3]), "residential_units":array([0, 2, 1]), } } ) should_be = array([False, True, False]) instance_name = "urbansim_parcel.parcel.has_2_units" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ "parcel":{ "parcel_id":array([1,2,3]), "residential_units":array([0, 2, 1]), } } ) should_be = array([False, True, False]) instance_name = "urbansim_parcel.parcel.has_2_units" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def do(self,sss, ddd, should_be): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "zone":{ "zone_id":array([1,3])}, "travel_data":{ "from_zone_id":array([3,3,1,1]), "to_zone_id":array([1,3,1,3]), sss:array([1.1, 2.2, 3.3, 4.4])} } ) instance_name = "urbansim.zone.%s_to_%s" % (sss, ddd) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def do(self, ddd, sss, should_be): tester = VariableTester( __file__, package_order=["urbansim"], test_data={ "zone": {"zone_id": array([1, 3]), "employment": array([10, 1])}, "travel_data": { "from_zone_id": array([3, 3, 1, 1, 4]), "to_zone_id": array([1, 3, 1, 3, 4]), sss: array([1.1, 2.2, 3.3, 4.4, 99]), }, }, ) instance_name = "urbansim_zone.zone.employment_within_%s_%s_threshold" % (ddd, sss) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id": array([1, 2, 3]), "avg_val_per_unit_vacant_land": array([10, 5, 0]) } } ) should_be = array([2.3025850929940459, 1.6094379124341003, 0]) instance_name = 'urbansim.gridcell.ln_avg_val_per_unit_vacant_land' tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id": array([1,2,3,4]), "buildings_residential_units": array([5, 23, 5, 0]), "number_of_residential_buildings": array([5,5, 1, 0]) } } ) should_be = array([1, 4.6, 5, 0]) tester.test_is_close_for_family_variable(self, should_be, self.instance_name)
def do(self, ddd, sss, should_be): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "zone":{ "zone_id":array([1,3]), "employment":array([10, 1])}, "travel_data":{ "from_zone_id":array([3,3,1,1]), "to_zone_id":array([1,3,1,3]), sss:array([1.1, 2.2, 3.3, 4.4])} } ) instance_name = "sanfrancisco.zone.employment_within_%s_minutes_%s_travel_time" % (ddd, sss) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def do(self, sss, ddd, should_be): tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "zone": { "zone_id": array([1, 3]) }, "travel_data": { "from_zone_id": array([3, 3, 1, 1]), "to_zone_id": array([1, 3, 1, 3]), sss: array([1.1, 2.2, 3.3, 4.4]) } }) instance_name = "sanfrancisco.zone.%s_travel_time_to_%s" % (sss, ddd) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): zone_id = array([1, 1, 3, 2]) twauht_work_ai_3 = array([4.1, 5.3, 6.2]) tester = VariableTester( __file__, package_order=["urbansim"], test_data={ "gridcell": {"grid_id": array([1, 2, 3, 4]), "zone_id": zone_id}, "zone": {"zone_id": array([1, 2, 3]), "ln_home_access_to_population_income_3": twauht_work_ai_3}, }, ) should_be = array([4.1, 4.1, 6.2, 5.3]) instance_name = "urbansim.gridcell.ln_home_access_to_population_income_3" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3, 4]), "buildings_residential_units": array([5, 23, 5, 0]), "number_of_residential_buildings": array([5, 5, 1, 0]) } }) should_be = array([1, 4.6, 5, 0]) tester.test_is_close_for_family_variable(self, should_be, self.instance_name)
def test_my_inputs(self): value_within_walking_distance = array([1000, 5000, 10000, 15000]) units_within_walking_distance = array([0.0, 100.0, 300.0, 56.0]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id": array([1,2,3,4]), "value_of_residential_space_within_walking_distance": value_within_walking_distance, "total_buildings_residential_space_where_tv_within_walking_distance": units_within_walking_distance } } ) instance_name = "urbansim.gridcell.residential_avg_val_per_unit_within_walking_distance" should_be = array([-1.0, 50.0, 33.3333333, 267.8571429]) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def do(self, ddd, sss, should_be): tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "zone": { "zone_id": array([1, 3]), "employment": array([10, 1]) }, "travel_data": { "from_zone_id": array([3, 3, 1, 1, 4]), "to_zone_id": array([1, 3, 1, 3, 4]), sss: array([1.1, 2.2, 3.3, 4.4, 99]) } }) instance_name = "urbansim_zone.zone.employment_within_%s_%s_threshold" % ( ddd, sss) tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=["zurich_parcel", "urbansim_parcel", "urbansim"], test_data={ "parcel": { "parcel_id": array([1, 2, 3]), "x_coord_sp": array([1, 2, 4]), "y_coord_sp": array([1, 1, 1]), }, "job": {"job_id": array([1, 2, 3, 4, 5, 6, 7]), "building_id": array([1, 2, 3, 4, 5, 6, 7])}, "building": {"building_id": array([1, 2, 3, 4, 5, 6, 7]), "parcel_id": array([1, 2, 2, 2, 2, 1, 3])}, }, ) should_be = array([5.27492301, 6.30778155, 3.68128018]) instance_name = "zurich_parcel.parcel.jobs_within_2_of_parcel_exp_weighted_with_beta" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): mode = 'hwy' tester = VariableTester( __file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ "zone":{ "zone_id":array([1, 3]), "population":array([10, 1])}, "travel_data":{ "from_zone_id":array([3,3,1,1]), "to_zone_id":array([1,3,1,3]), mode:array([1, 2, 3, 4])} } ) should_be = array([2.11111, 0.875]) instance_name = "sanfrancisco.zone.%s_travel_time_weighted_access_by_population" % mode tester.test_is_close_for_family_variable(self, should_be, instance_name, rtol=1e-5)
def test_my_inputs(self): mode = 'hwy' tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "zone":{ "zone_id":array([1,3]), "employment":array([10, 1])}, "travel_data":{ "from_zone_id":array([3,3,1,1]), "to_zone_id":array([1,3,1,3]), mode:array([1, 2, 3, 4])} } ) should_be = array([1.17361, 10.25]) instance_name = "sanfrancisco.zone.%s_travel_time_weighted_access_to_employment" % mode tester.test_is_close_for_family_variable(self, should_be, instance_name, rtol=1e-5)
def test_my_inputs(self): work_access_to_employment = array([0.0, 5000.0, 12000.0]) locations_in_zoneid = array([1, 1, 3, 2, 2]) tester = VariableTester( __file__, package_order=["urbansim"], test_data={ "zone": {"zone_id": array([1, 2, 3]), "work_access_to_employment_2": work_access_to_employment}, "gridcell": {"grid_id": array([1, 2, 3, 4, 5]), "zone_id": locations_in_zoneid}, }, ) # since we're using bounded log, we get 0.0 for the 0 value of work_access_to_employment should_be = array([0.0, 0.0, log(12000.0), log(5000.0), log(5000.0)]) # The number of cars is 2 in this test instance_name = "urbansim.gridcell.ln_work_access_to_employment_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id": array([1, 2, 3]), "zone_id": array([1, 1, 3]) }, "zone":{ "zone_id": array([1, 2, 3]), "ln_access_from_residence_to_workplaces_2": array([4.1, 5.3, 6.2]) } } ) should_be = array([4.1, 4.1, 6.2]) instance_name = "urbansim.gridcell.ln_access_from_residence_to_workplaces_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): sqft_of_industrial_jobs = array([1225, 5000, 7500]) industrial_sqft = array([1995, 10000, 7500]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":array([1,2,3]), "sqft_of_industrial_jobs":sqft_of_industrial_jobs, "buildings_industrial_sqft":industrial_sqft, } } ) should_be = array([770/1995.0, 5000/10000.0, 0]) instance_name = "urbansim.gridcell.vacancy_rate_for_industrial_sqft" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): zone_id = array([1, 1, 3, 2]) twauht_work_ai_3 = array([4.1, 5.3, 6.2]) tester = VariableTester( __file__, package_order=["urbansim"], test_data={ "gridcell": {"grid_id": array([1, 2, 3, 4]), "zone_id": zone_id}, "zone": { "zone_id": array([1, 2, 3]), "trip_weighted_average_utility_hbw_to_work_am_income_3": twauht_work_ai_3, }, }, ) should_be = array([4.1, 4.1, 6.2, 5.3]) instance_name = "urbansim.gridcell.trip_weighted_average_utility_hbw_to_work_am_income_3" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['psrc_parcel', 'urbansim_parcel', 'urbansim'], test_data={ 'parcel': { "parcel_id": array([1, 2, 3, 4, 5, 7, 8 ]), "x_coord_sp": array([1, 2, 3, 3, 1, 2, 3 ]), "y_coord_sp": array([1, 1, 1, 2, 4, 2, 3 ]), }, 'school': { "school_id": array([1, 2, 3, 4, 5, 6, 7]), "parcel_id": array([1, 2, 3, 7, 7, 1, 8]) }, }) should_be = array([0, 0, 0, 1, 2.23607, 0, 0]) instance_name = 'psrc_parcel.parcel.distance_to_school' tester.test_is_close_for_family_variable(self, should_be, instance_name, rtol=1e-5)
def test_my_inputs(self): sqft_of_industrial_jobs = array([1225, 5000, 7500]) industrial_sqft = array([1995, 10000, 7500]) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3]), "sqft_of_industrial_jobs": sqft_of_industrial_jobs, "buildings_industrial_sqft": industrial_sqft, } }) should_be = array([770 / 1995.0, 5000 / 10000.0, 0]) instance_name = "urbansim.gridcell.vacancy_rate_for_industrial_sqft" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs( self ): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell':{ 'grid_id': array([1,2,3,4]), 'relative_x': array([1,2,1,2]), 'relative_y': array([1,1,2,2]), 'number_of_non_home_based_jobs_of_group_service': array([100, 1000, 500, 1500]), }, 'urbansim_constant':{ "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } } ) should_be = array( [1800.0, 4600.0, 3100.0, 6000.0] ) instance_name = "urbansim.gridcell.service_sector_non_home_based_employment_within_walking_distance" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3]), "zone_id": array([1, 1, 3]) }, "zone": { "zone_id": array([1, 2, 3]), "ln_access_from_residence_to_workplaces_2": array([4.1, 5.3, 6.2]) } }) should_be = array([4.1, 4.1, 6.2]) instance_name = "urbansim.gridcell.ln_access_from_residence_to_workplaces_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): """ test k=0,1,2 """ tester = VariableTester( __file__, package_order=['sanfrancisco','urbansim'], test_data={ 'household': {"household_id": array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), "zone_id": array([ 1, 1, 2, 2, 3, 3, 4, 2, 1, 3]), "income": array([ 0,10,45,30,20,50,85,21,20,65])*1000, }, 'zone': { "zone_id": array([1,2,3,4]), }, 'adjacent_zone': { # 1 | 2 # - - - # 3 | 4 "zone_id": array([1,1,2,2,3,3,4,4]), "adjacent_zone_id": array([2,3,1,4,1,4,2,3]), }, } ) instance_name = 'sanfrancisco.zone.mean_income_k0' should_be = array([10, 32, 45, 85])*1000 tester.test_is_equal_for_family_variable(self, should_be, instance_name) instance_name = 'sanfrancisco.zone.mean_income_k1' should_be = array([29, 30.142857, 35.714285, 45.142857])*1000 tester.test_is_close_for_family_variable(self, should_be, instance_name) instance_name = 'sanfrancisco.zone.mean_income_k2' should_be = array([34.6, 34.6, 34.6, 34.6])*1000 tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): zone_id = array([1, 1, 3, 2]) twauht_work_ai_3 = array([4.1, 5.3, 6.2]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3, 4]), "zone_id": zone_id }, "zone": { "zone_id": array([1, 2, 3]), "ln_home_access_to_population_income_3": twauht_work_ai_3 } }) should_be = array([4.1, 4.1, 6.2, 5.3]) instance_name = "urbansim.gridcell.ln_home_access_to_population_income_3" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): gridcell_grid_id = array([1, 2, 3]) #specify an array of 4 hh's, 1st hh's grid_id = 2 (it's in gridcell 2), etc. household_grid_id = array([2, 1, 3, 2]) #specify how many people live in each household hh_persons = array([10, 5, 20, 30]) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": gridcell_grid_id }, "household": { "household_id": array([1, 2, 3, 4]), "persons": hh_persons, "grid_id": household_grid_id } }) should_be = array([5, 40, 20]) tester.test_is_close_for_family_variable(self, should_be)
def test_my_inputs(self): zone_id = array([1, 1, 3]) twauhf_home_ai_2 = array([4.1, 5.3, 6.2]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id": array([1,2,3]), "zone_id": zone_id }, "zone":{ "zone_id": array([1,2,3]), "trip_weighted_average_utility_hbw_from_home_am_income_2": twauhf_home_ai_2 } } ) should_be = array([4.1, 4.1, 6.2]) instance_name = "urbansim.gridcell.trip_weighted_average_utility_hbw_from_home_am_income_2" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs( self ): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell':{ 'grid_id': array([1,2,3,4]), 'relative_x': array([1,2,1,2]), 'relative_y': array([1,1,2,2]), 'buildings_residential_space': array([100.0, 500.0, 1000.0, 1500.0]), }, 'urbansim_constant':{ "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), "acres": array([105.0]), } } ) should_be = array( [1800.0, 3100.0, 4600.0, 6000.0] ) instance_name = "urbansim.gridcell.total_buildings_residential_space_within_walking_distance" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs( self ): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell':{ 'grid_id': array([1,2,3,4]), 'number_of_development_type_group_residential_within_walking_distance': array([3, 5, 1, 0]), }, 'urbansim_constant':{ "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } } ) should_be = array([3/5.0*100.0, 5/5.0*100.0, 1/5.0*100.0, 0/5.0*100.0]) instance_name = "urbansim.gridcell.percent_residential_within_walking_distance" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=["urbansim_parcel", "urbansim", "opus_core"], test_data={ "person": { "person_id": array([1, 2, 3, 4, 5, 6, 7, 8]), "household_id": array([1, 1, 2, 3, 3, 3, 4, 5]), "worker1": array([1, 0, 1, 0, 0, 1, 0, 0]), "workplace_zone_id": array([1, 3, 3, 2, 1, 3, -1, -1]), }, "household": {"household_id": array([1, 2, 3, 4, 5]), "zone_id": array([3, 1, 1, 1, 2])}, "travel_data": { "from_zone_id": array([3, 3, 1, 1, 1, 2, 2, 3, 2]), "to_zone_id": array([1, 3, 1, 3, 2, 1, 3, 2, 2]), "single_vehicle_to_work_travel_distance": array([1.1, 2.2, 3.3, 4.4, 0.5, 0.7, 8.7, 7.8, 1.0]), }, }, ) default_value = workerDDD_network_distance_from_home_to_work.default_value should_be = array([1.1, 4.4, 4.4, default_value, default_value]) tester.test_is_close_for_family_variable(self, should_be, self.variable_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3, 4]), 'number_of_development_type_group_residential_within_walking_distance': array([3, 5, 1, 0]), }, 'urbansim_constant': { "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } }) should_be = array([ 3 / 5.0 * 100.0, 5 / 5.0 * 100.0, 1 / 5.0 * 100.0, 0 / 5.0 * 100.0 ]) instance_name = "urbansim.gridcell.percent_residential_within_walking_distance" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel', 'urbansim', 'opus_core'], test_data={ 'person': { 'person_id':array([1, 2, 3, 4, 5, 6, 7, 8]), 'household_id': array([1, 1, 2, 3, 3, 3, 4, 5]), 'worker1': array([1, 0, 1, 0, 0, 1, 0, 0]), 'workplace_zone_id':array([1, 3, 3, 2, 1, 3, -1, -1]), }, 'household': { 'household_id':array([1,2,3,4,5]), 'zone_id': array([3,1,1,1,2]), }, 'travel_data': { 'from_zone_id':array([3,3,1,1,1,2,2,3,2]), 'to_zone_id': array([1,3,1,3,2,1,3,2,2]), 'single_vehicle_to_work_travel_distance':array([1.1, 2.2, 3.3, 4.4, 0.5, 0.7, 8.7, 7.8, 1.0]) } }) default_value = workerDDD_network_distance_from_home_to_work.default_value should_be = array([1.1, 4.4, 4.4, default_value, default_value]) tester.test_is_close_for_family_variable(self, should_be, self.variable_name)
def test_my_inputs(self): zone_id = array([1, 1, 3, 2]) twauht_work_ai_3 = array([4.1, 5.3, 6.2]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3, 4]), "zone_id": zone_id }, "zone": { "zone_id": array([1, 2, 3]), "trip_weighted_average_utility_hbw_to_work_am_income_3": twauht_work_ai_3 } }) should_be = array([4.1, 4.1, 6.2, 5.3]) instance_name = "urbansim.gridcell.trip_weighted_average_utility_hbw_to_work_am_income_3" tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell':{ 'grid_id': array([1,2,3,4]), 'relative_x': array([1,2,1,2]), 'relative_y': array([1,1,2,2]), 'residential_units': array([1,2,3,4]), 'n_residential_units_recently_added': array([1, 0, 1, 1]), }, 'urbansim_constant':{ 'recent_years': array([3]), "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), "acres": array([105.0]), } } ) should_be = array([4.0, 2.0, 5.0, 4.0]) instance_name = 'urbansim.gridcell.n_residential_units_recently_added_within_walking_distance' tester.test_is_close_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['sanfrancisco', 'urbansim'], test_data={ "building_type_classification": { "class_id": array([1, 2, 3]), "name": array(['apartment', 'industrial', 'mixed']), }, "building_type": { "building_type_id": array([1, 2, 3, 4, 5, 6]), "class_id": array([1, 1, 2, 2, 3, 3]) }, "building": { "building_id": array([ 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 35, 36 ]), "building_type_id": array( [1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6]), # so type_class is: 1,1,2,2,3,3, = a,a,i,i,m,m # 3,3,2,2,1,1 = m,m,i,i,a,a # 1,1,2,2,3,3 = a,a,i,i,m,m "building_sqft": array([ 101, 102, 103, 104, 105, 106, 201, 202, 203, 204, 205, 206, 301, 302, 303, 304, 305, 306 ]), "residential_sqft": array([ 101, 102, 0, 0, 51, 52, 101, 102, 0, 0, 205, 206, 301, 302, 0, 0, 101, 102 ]), "non_residential_sqft": array([ 0, 0, 103, 104, 54, 54, 100, 100, 203, 204, 0, 0, 0, 0, 303, 304, 204, 204 ]), "residential_units": array( [4, 4, 0, 0, 2, 2, 1, 1, 0, 0, 3, 3, 2, 2, 0, 0, 1, 1]) }, "business": { "business_id": array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]), "building_id": array([ 13, 13, 14, 14, 15, 16, 21, 22, 23, 23, 24, 24, 33, 34, 35 ]), "sqft": array([ 23, 24, 25, 26, 54, 55, 27, 28, 29, 30, 31, 32, 33, 34, 35 ]) }, "household": { "household_id": array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, # in industrial 15 ]), # too many in blg 35 "building_id": array([ 11, 11, 11, 12, 12, 15, 21, 26, 26, 31, 31, 32, 35, 13, 35 ]), } }) varname = "sanfrancisco.building.occupied_sqft_of_typeclass_apartment" print tester._get_attribute(given_variable_name=varname) # [ (3/4)*101, (2/4)*102, 0,0, 0,0, # 0,0, 0,0, (0/3)*205, (2/3)*206, # (2/2)*301, (1/2)*302, 0,0, 0,0 ] expected = [ 75.75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137.333, 301, 151, 0, 0, 0, 0 ] tester.test_is_close_for_family_variable(self, expected, varname, 0.001) varname = "sanfrancisco.building.occupied_sqft_of_typeclass_industrial" print tester._get_attribute(given_variable_name=varname) # [ 0,0, 23+24, 25+26, 0,0, # 0,0, 29+30, 31+32, 0,0, # 0,0, 33, 34, 0,0] expected = [0, 0, 47, 51, 0, 0, 0, 0, 59, 63, 0, 0, 0, 0, 33, 34, 0, 0] tester.test_is_close_for_family_variable(self, expected, varname, 0.001) varname = "sanfrancisco.building.occupied_sqft_of_typeclass_mixed" print tester._get_attribute(given_variable_name=varname) # [ 0,0, 0,0, 54+(1/2)*51, 55+(0/2)*52, # 27+(1/1)*101, 28+(0/1)*102, 0,0, 0,0, # 0,0, 0,0, 35+(2/1)*101, 0+(0/1)*102] expected = [ 0, 0, 0, 0, 79.5, 55, 128, 28, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0 ] tester.test_is_close_for_family_variable(self, expected, varname, 0.001)