def test_my_inputs(self): """Sum the number of jobs for a given gridcell that are in the employment sector specified by DDD """ 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_group = array([0, 1, 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_group_retail":is_in_employment_sector_group } } ) should_be = array([1, 0, 1]) instance_name = "urbansim.gridcell.number_of_jobs_of_group_retail" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ 'job': { "job_id": array([1, 2, 3, 4, 5]), "building_type": array([1, 2, 1, 1, 2]), "building_id": array([1, 1, 3, 2, 2]), }, 'building': { "building_id": array([1, 2, 3]), }, 'job_building_type': { "id": array([1, 2]), "name": array(["home_based", "non_home_based"]) }, }) should_be = array([1, 1, 0]) instance_name = 'urbansim_parcel.building.number_of_non_home_based_jobs' tester.test_is_equal_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]), }, 'building': { 'building_id': array([1, 2, 3, 4, 5, 6]), 'building_type_id': array([1, 2, 1, 2, 1, 1]), 'grid_id': array([2, 3, 1, 1, 2, 1]) }, 'building_type': { 'building_type_id': array([1, 2]), 'name': array(['foo', 'commercial']) } }) should_be = array([1, 0, 1]) instance_name = "urbansim.gridcell.has_commercial_buildings" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): """Total number of commercial sqft of buildings. """ tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell':{ 'grid_id':array([1,2,3]), }, 'building': { 'building_id':array([1,2,3,4,5,6]), 'building_type_id':array([1,2,1,2,1,1]), 'grid_id':array([2,3,1,1,2,1]), 'sqft':array([100, 350, 1000, 0, 430, 95]) }, 'building_type': { 'building_type_id':array([1,2]), 'name': array(['foo', 'commercial']) } } ) should_be = array([0, 0, 350]) instance_name = "urbansim.gridcell.buildings_commercial_sqft" tester.test_is_equal_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, 6, 7, 8, 9]), 'grid_id': array([1, 1, 1, 2, 2, 3, 4, 4, 4]), }, 'school': { "school_id": array([1,2,3,4,5]), "parcel_id": array([3,4,7, 8, 9]), "public": array([True, False, True, False, True]) }, 'gridcell':{ 'grid_id':array([1, 2, 3, 4]), 'relative_x': array([1,2,1,2]), 'relative_y': array([1,1,2,2]), }, 'urbansim_constant':{ "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } } ) # these are expected values if mode='constant' (in urbansim.gridcell.abstract_within_walking_distance) #should_be = array( [1, 1, 1, 3, 3, 3, 2, 2, 2]) # these are expected values if mode='reflect' (influences values at boundaries) should_be = array( [3, 3, 3, 3, 3, 3, 6, 6, 6]) instance_name = "psrc_parcel.parcel.psrc_parcel_package_number_of_public_schools_wwd" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): grid_id = array([1, 1, 2, 3, 1, 2]) units = array([100, 40, 33, 0, 30, 10]) SimulationState().set_current_time(2000) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1,2,3]) }, "building": { "building_id": array([1,2,3,4,5,6]), "grid_id": grid_id, "year_built": array([1980, 1945, 2000, 1997, 1000, 1970]), "residential_units": units }, "urbansim_constant": { "recent_years": array([3]), "absolute_min_year": array([1800]) } } ) should_be = array([0, 33, 0]) instance_name = 'urbansim.gridcell.n_recent_residential_units' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): grid_id = array([1, 1, 2, 3, 1, 2]) units = array([100, 40, 33, 0, 30, 10]) SimulationState().set_current_time(2000) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3]) }, "building": { "building_id": array([1, 2, 3, 4, 5, 6]), "grid_id": grid_id, "year_built": array([1980, 1945, 2000, 1997, 1000, 1970]), "residential_units": units }, "urbansim_constant": { "recent_years": array([3]), "absolute_min_year": array([1800]) } }) should_be = array([0, 33, 0]) instance_name = 'urbansim.gridcell.n_recent_residential_units' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel','urbansim'], test_data={ 'job': {"job_id":array([1,2,3,4,5]), "building_type":array([1,2,1,1,2]), "building_id":array([1,1,3,2,2]), }, 'building': { "building_id":array([1,2,3]), }, 'job_building_type': { "id":array([1,2]), "name":array(["home_based", "non_home_based"]) }, } ) should_be = array([1, 1, 0]) instance_name = 'urbansim_parcel.building.number_of_non_home_based_jobs' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs_sector_2(self): tester = VariableTester( __file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ 'parcel': { "parcel_id": array([1, 2, 3]), "x_coord_sp": array([1, 2, 3 ]), "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]), "sector_id":array([1,2,2,1,2,1,2]), }, '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, 4, 4]) instance_name = 'urbansim_parcel.parcel.jobs_of_sector_2_within_1_of_parcel' tester.test_is_equal_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, 6, 7, 8]), "x_coord_sp": array([1, 2, 3, 3, 1, 5, 2, 3]), "y_coord_sp": array([1, 1, 1, 2, 4, 4, 2, 3]), }, 'school': { "school_id":array([1,2,3,4, 5, 6, 7]), "parcel_id":array([1,2,3,7, 7, 1, 8]), #"sxcoord":array([1,2,3,2,2,1,3]), #"sycoord":array([1,1,1,2,2,1,3]), "category": array(['K', 'E', 'EMH', 'M', 'EM', 'E', 'E']) }, }) should_be = array([6, 2, 3, 3, 5, 7, 5, 7]) instance_name = 'psrc_parcel.parcel.nearest_school_of_category_2' tester.test_is_equal_for_family_variable(self, should_be, instance_name) instance_name = 'psrc_parcel.parcel.nearest_school_of_category_12' should_be = array([1, 2, 3, 3, 5, 7, 5, 7]) tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['sanfrancisco', 'urbansim'], test_data={ 'building': { "building_id": array([1, 2, 3, 4, 5, 6]), "parcel_id": array([1, 1, 2, 2, 3, 3]), "employment": array([0, 1, 4, 0, 2, 5]), }, 'parcel': { "parcel_id": array([1, 2, 3]), "zone_id": array([1, 1, 2]), }, 'zone': { "zone_id": array([1, 2]), }, }) should_be = array([5, 7]) instance_name = 'sanfrancisco.zone.aggregate_employment_from_building' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs( self ): tester = VariableTester( __file__, package_order=['urbansim', 'opus_core'], test_data={ 'gridcell':{ 'grid_id': array([1,2,3,4]), 'plan_type_id': array([1, 3, 2, 3]), }, 'plan_type_group':{ 'name': array(["mixed_use", "high_density_residential"]), 'group_id': array([1,2]), } } ) tester.dataset_pool._add_dataset('plan_type', mock_plantype(3)) # Test variable 1 should_be = array( [True, False, False, False] ) instance_name1 = "urbansim.gridcell.is_in_plan_type_group_mixed_use" tester.test_is_equal_for_family_variable(self, should_be, instance_name1) # Test variable 2 should_be = array( [True, False, True, False] ) instance_name2 = "urbansim.gridcell.is_in_plan_type_group_high_density_residential" tester.test_is_equal_for_family_variable(self, should_be, instance_name2)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ 'parcel': { "parcel_id": array([1, 2, 3]), "x_coord_sp": array([1, 2, 3]), "y_coord_sp": array([1, 1, 1]), }, 'household': { "household_id": array([1, 2, 3, 4, 5, 6, 7]), "building_id": array([1, 2, 3, 4, 5, 6, 7]), "children": array([0, 13, 4, 0, 0, 0, 2]), }, 'building': { "building_id": array([1, 2, 3, 4, 5, 6, 7]), "parcel_id": array([1, 2, 2, 2, 2, 1, 3]), }, }) should_be = array([2, 3, 3]) instance_name = 'urbansim_parcel.parcel.households_with_children_within_1_of_parcel' tester.test_is_equal_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={ "school":{ "school_id":array([1, 2, 3, 4, 5, 6, 7, 8]), "total_score": array([200, 300, 0, 50, -1, 0, 10, 60]), "zone_id": array([1,1,1,2,2,4,3,3]), "faz_id": array([1,1,1,1,1,2,2,2]) }, "zone":{ "zone_id":array([1,2,3,4]), "faz_id": array([1,1,2,2]) }, "faz":{ "faz_id" : array([1,2]) } } ) should_be = array([250, 50, 35, 0]) tester.test_is_equal_for_family_variable(self, should_be, 'psrc_parcel.zone.average_school_total_score')
def test_my_inputs(self): tester = VariableTester( __file__, package_order=["urbansim_parcel", "urbansim"], test_data={ "development_constraint": { "constraint_id": array([1, 2, 3, 4]), "is_constrained": array([0, 1, 1, 0]), "generic_land_use_type_id": array([1, 1, 2, 2]), "constraint_type": array(["units_per_acre", "units_per_acre", "far", "far"]), "minimum": array([1, 0, 0, 0]), "maximum": array([3, 0.2, 10, 100]), }, "parcel": {"parcel_id": array([1, 2, 3]), "is_constrained": array([1, 0, 1])}, "generic_land_use_type": { "generic_land_use_type_id": array([1, 2]), "generic_land_use_type_name": array(["", ""]), }, }, ) should_be = array([10, 100, 10]) instance_name = "urbansim_parcel.parcel.max_far_capacity_for_generic_land_use_type_2" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_filter(self): tester = VariableTester( __file__, package_order=['psrc_parcel', 'urbansim_parcel', 'urbansim'], test_data={ 'parcel': { "parcel_id": array([1, 2, 3, 4,5,6,7,8]), "x_coord_sp": array([1, 2, 3, 4,1,2,3,4]), "y_coord_sp": array([1, 1, 1, 1, 2,2,2,2 ]), }, 'school': { "school_id":array([1,2,3,4,5,6]), "parcel_id":array([1,2,4,5,7,8]), "public": array([0,1,0,1,0,0]) }, 'building': { "building_id":array([1,2,3,4,5,6,7]), "parcel_id":array([1,2,3,4,5,7,8]), "residential_units": array([0,1,1,0,0,0,0]) }, }) should_be = array([1, 3, 4, 3, 0, 0, 3, 3]) instance_name = 'psrc_parcel.parcel.number_of_private_schools_within_2_of_parcel' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['sanfrancisco','urbansim'], test_data={ 'building': {"building_id": array([1,2,3,4,5,6]), "parcel_id": array([1,1,2,2,3,3]), "employment_of_sector_4":array([0,1,4,0,2,5]), }, 'parcel': { "parcel_id":array([1,2,3]), "zone_id": array([1,1,2]), }, 'zone': { "zone_id": array([1,2]), }, } ) should_be = array([5, 7]) instance_name = 'sanfrancisco.zone.aggregate_employment_of_sector_4_from_building' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): SimulationState().set_current_time(2005) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ 'gridcell': { "grid_id": array([1, 2, 3]) }, "building": { 'building_id': array([1, 2, 3, 4, 5, 6, 7]), "grid_id": array([1, 1, 2, 3, 1, 2, 1]), "is_building_type_residential": array([1, 0, 1, 1, 1, 0, 1]), "year_built": array( [1995, 2000, 2006, 0, 10, 0, 2007]) }, 'urbansim_constant': { "absolute_min_year": array([1800]), } }) should_be = array([5, 0, -1]) instance_name = 'urbansim.gridcell.average_building_age_residential' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim', 'opus_core'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3, 4]), 'plan_type_id': array([1, 3, 2, 3]), }, 'plan_type_group': { 'name': array(["mixed_use", "high_density_residential"]), 'group_id': array([1, 2]), } }) tester.dataset_pool._add_dataset('plan_type', mock_plantype(3)) # Test variable 1 should_be = array([True, False, False, False]) instance_name1 = "urbansim.gridcell.is_in_plan_type_group_mixed_use" tester.test_is_equal_for_family_variable(self, should_be, instance_name1) # Test variable 2 should_be = array([True, False, True, False]) instance_name2 = "urbansim.gridcell.is_in_plan_type_group_high_density_residential" tester.test_is_equal_for_family_variable(self, should_be, instance_name2)
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]), 'n_recent_development_projects': array([1, 0, 1, 1]), }, 'urbansim_constant': { "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } }) should_be = array([4, 2, 5, 4]) instance_name = "urbansim.gridcell.sum_n_recent_development_projects_within_walking_distance" tester.test_is_equal_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]), "x_coord_sp": array([1, 2, 3 ]), "y_coord_sp": array([1, 1, 1 ]), }, 'household': { "household_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([6, 7, 5]) instance_name = 'urbansim_parcel.parcel.households_within_1_of_parcel' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): """Total number of residential units from single family buildings. """ tester = VariableTester(__file__, package_order=['urbansim'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3]), }, 'building': { 'building_id': array([1, 2, 3, 4, 5, 6]), 'building_type_id': array([1, 2, 1, 2, 1, 1]), 'grid_id': array([2, 3, 1, 1, 2, 1]), 'residential_units': array([100, 350, 1000, 0, 430, 95]) }, 'building_type': { 'building_type_id': array([1, 2]), 'name': array(['foo', 'single_family']) } }) should_be = array([0, 0, 350]) instance_name = "urbansim.gridcell.buildings_single_family_units" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): work_access_to_employment = array([1000.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 } }) should_be = array([1000.0, 1000.0, 12000.0, 5000.0, 5000.0]) instance_name = "urbansim.gridcell.work_access_to_employment_2" # The number of cars is 2 in this test tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): avg_income = array( [1000, 10000, 100000]) #specify the total income for each of three locations units = array([ 3, 1, 10 ]) #specify the total number of households for each of three locations tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3]), "average_income": avg_income, "residential_units": units } }) #if the dependent variables span different "directories", i.e. gridcell and household, then a "household" key #would also be added to this dictionary. the names of keys within MUST MATCH an already existing variable... #as a general rule, look at the dependencies for the actual variable code above, and each one should appear #somewhere in the compute_variable dictionary arguments, i.e. in this case, "sum_income" and "number_of_households" #the corresponding value name to the keys doesn't matter, in this case i chose them to be the same. #"dataset" is the name of the "directory" that this variable is located should_be = array([ 1000.0, 10000.0, 0.0 ]) #would be a 2-D array if it spanned more than one "directory" tester.test_is_equal_for_family_variable(self, should_be, self.instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['sanfrancisco','urbansim'], test_data={ 'business': {"business_id":array([1,2,3,4,5]), "sector_id":array([4,2,4,3,4]), "building_id":array([1,1,2,2,2]), "employment":array([100,20,40,30,41]) }, 'building': { "building_id":array([1,2]), }, 'sector': {"sector_id":array([1,2,3,4]), "sector_name":array(["others","agr","manufactural","retail"]) }, } ) should_be = array([100, 81]) instance_name = 'sanfrancisco.building.employment_of_sector_retail' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): """Total number of residential units from single family buildings. """ tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'gridcell':{ 'grid_id':array([1,2,3]), }, 'building': { 'building_id':array([1,2,3,4,5,6]), 'building_type_id':array([1,2,1,2,1,1]), 'grid_id':array([2,3,1,1,2,1]), 'residential_units':array([100, 350, 1000, 0, 430, 95]) }, 'building_type': { 'building_type_id':array([1,2]), 'name': array(['foo', 'single_family']) } } ) should_be = array([0, 0, 350]) instance_name = "urbansim.gridcell.buildings_single_family_units" tester.test_is_equal_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]), 'is_in_development_type_group_residential': array([1, 1, 1, 0]), }, 'urbansim_constant': { "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } }) should_be = array([5, 4, 4, 2]) #"1" in this case is the group number. was originally DDD, but have to specify it since this is a test, and the #"parent code" isn't actually invoked instance_name = "urbansim.gridcell.number_of_development_type_group_residential_within_walking_distance" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): """Total number of commercial sqft of buildings. """ tester = VariableTester(__file__, package_order=['urbansim'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3]), }, 'building': { 'building_id': array([1, 2, 3, 4, 5, 6]), 'building_type_id': array([1, 2, 1, 2, 1, 1]), 'grid_id': array([2, 3, 1, 1, 2, 1]), 'sqft': array([100, 350, 1000, 0, 430, 95]) }, 'building_type': { 'building_type_id': array([1, 2]), 'name': array(['foo', 'commercial']) } }) should_be = array([0, 0, 350]) instance_name = "urbansim.gridcell.buildings_commercial_sqft" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ 'development_constraint': { 'constraint_id': array([1, 2, 3, 4]), 'is_constrained': array([0, 1, 1, 0]), 'generic_land_use_type_id': array([1, 1, 2, 2]), 'constraint_type': array(['units_per_acre', 'units_per_acre', 'far', 'far']), 'minimum': array([1, 0, 0, 0]), 'maximum': array([3, 0.2, 10, 100]), }, 'parcel': { "parcel_id": array([1, 2, 3]), "is_constrained": array([1, 0, 1]), }, 'generic_land_use_type': { "generic_land_use_type_id": array([1, 2]), "generic_land_use_type_name": array(['', '']), }, }) should_be = array([10, 100, 10]) instance_name = 'urbansim_parcel.parcel.max_far_capacity_for_generic_land_use_type_2' tester.test_is_equal_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_jobs_of_sector_1': array([100, 500, 1000, 1500]), }, 'urbansim_constant': { "walking_distance_circle_radius": array([150]), 'cell_size': array([150]), } }) should_be = array([1800, 3100, 4600, 6000]) instance_name = "urbansim.gridcell.sector_1_employment_within_walking_distance" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel','urbansim'], test_data={ 'development_constraint': { 'constraint_id': array([1,2,3,4]), 'is_constrained': array([0, 1, 1, 0]), 'generic_land_use_type_id': array([1, 1, 2, 2]), 'constraint_type':array(['units_per_acre','units_per_acre', 'far', 'far']), 'minimum': array([1, 0, 0, 0]), 'maximum': array([3, 0.2, 10, 100]), }, 'parcel': { "parcel_id": array([1, 2, 3]), "is_constrained": array([1, 0, 1]), }, 'generic_land_use_type': { "generic_land_use_type_id": array([1, 2]), "generic_land_use_type_name": array(['', '']), }, } ) should_be = array([0, 1, 0]) instance_name = 'urbansim_parcel.parcel.min_units_per_acre_capacity_for_generic_land_use_type_1' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test(self): tester = VariableTester( __file__, package_order=["opus_core"], test_data={"test": {"id": array([1, 2]), "attr1": array([1, 2])}} ) should_be = array([1 * 32, 2 * 32]) instance_name = "opus_core.test.attr_test_family_32" tester.test_is_equal_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]), 'household_id': array([1, 1, 5, 3, 3, 3]), 'member_id': array([1, 2, 1, 1, 2, 3]), 'worker1': array([1, 0, 0, 1, 1, 1]), 'tour_id': array([1, 2, 1, 3, 2, 1]) }, "tour": { 'tour_id': array([1, 2, 3]), 'arr_time': array([100, 1000, 30]), 'dep_time': array([70, 940, 10]), }, "household": { 'household_id': array([1, 2, 3, 4, 5, 6]), 'worker1_workplace_zone_id': array([1, 3, 3, 2, 3, -1]), # 'available_travel_time':array([6, 4.4, 4.3, 2, 17, 0]) # agent_resourc }, "building": { 'building_id': array([1, 2, 3, 4]), 'parcel_id': array([1, 1, 3, 4]), #'zone_id': array([1, 1, 3, 2]) }, "parcel": { 'parcel_id': array([1, 2, 3, 4]), 'zone_id': array([1, 1, 3, 2]), }, "zone": { 'zone_id': array([1, 2, 3]), 'zone_attribute': array([7, 0, 103]), }, "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]), 'am_single_vehicle_to_work_travel_time': array([1.1, 2.2, 3.3, 4.4, 0.5, 0.7, 8.7, 7.8, 1.0]) }, }) should_be = array([ [0, 0, 0, 0], [0, 0, 0, 0], [110, 110, 110, 110], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], ]) instance_name = 'psrc_parcel.household_x_building.worker1_employment_of_retail_food_and_other_services_accessible_from_work_to_home_drive_alone' tester.test_is_equal_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]), "governmental_sqft": array([1, 2, 5])}}, ) should_be = array([False, True, False]) instance_name = "urbansim.gridcell.has_2_governmental_sqft" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=["sanfrancisco", "urbansim"], test_data={"business": {"business_id": array([1, 2, 3, 4, 5]), "sector_id": array([4, 2, 4, 3, 4])}}, ) should_be = array([1, 0, 1, 0, 1]) instance_name = "sanfrancisco.business.is_of_sector_4" tester.test_is_equal_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]), 'household_id':array([1, 1, 5, 3, 3, 3]), 'member_id': array([1, 2, 1, 1, 2, 3]), 'worker1': array([1, 0, 0, 1, 1, 1]), 'tour_id': array([1, 2, 1, 3, 2, 1]) }, "tour":{ 'tour_id': array([1, 2, 3]), 'arr_time': array([100, 1000, 30]), 'dep_time': array([70, 940, 10]), }, "household":{ 'household_id':array([1,2,3,4,5,6]), 'worker1_workplace_zone_id':array([1, 3, 3, 2, 3, -1]), # 'available_travel_time':array([6, 4.4, 4.3, 2, 17, 0]) # agent_resourc }, "building":{ 'building_id':array([1, 2, 3, 4]), 'parcel_id': array([1, 1, 3, 4]), #'zone_id': array([1, 1, 3, 2]) }, "parcel":{ 'parcel_id':array([1, 2, 3, 4]), 'zone_id': array([1, 1, 3, 2]), }, "zone":{ 'zone_id':array([1, 2, 3]), 'number_of_jobs_of_sector_group_retail':array([7, 0, 103]), }, "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]), 'am_single_vehicle_to_work_travel_time':array([1.1, 2.2, 3.3, 4.4, 0.5, 0.7, 8.7, 7.8, 1.0]) }, }) should_be = array([[110, 110, 110, 110], [0, 0, 0, 0], [110, 110, 110, 110], [0, 0, 0, 0], [ 0, 0, 0, 0], [ 0, 0, 0, 0], ]) instance_name = 'psrc_parcel.household_x_building.worker1_employment_of_group_retail_accessible_from_work_to_home_drive_alone' tester.test_is_equal_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]), "residential_units": array([1, 2, 5]) } }) should_be = array([False, True, False]) instance_name = "urbansim.gridcell.has_2_units" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['sanfrancisco','urbansim'], test_data={ 'household': {"household_id":array([1,2,3,4,5,6,7,8,9]), "income":array ([1.5,9.4,2.6,5.3,8.8,3.3,4.6,10.4,3.4]), }, } ) should_be = array([1,0,1,0,0,0,0,0,0]) instance_name = 'sanfrancisco.household.in_income_quartile_1' tester.test_is_equal_for_family_variable(self, should_be, instance_name) should_be = array([0,0,0,0,0,1,0,0,1]) instance_name = 'sanfrancisco.household.in_income_quartile_2' tester.test_is_equal_for_family_variable(self, should_be, instance_name) should_be = array([0,0,0,1,0,0,1,0,0]) instance_name = 'sanfrancisco.household.in_income_quartile_3' tester.test_is_equal_for_family_variable(self, should_be, instance_name) should_be = array([0,1,0,0,1,0,0,1,0]) instance_name = 'sanfrancisco.household.in_income_quartile_4' tester.test_is_equal_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]), "residential_units":array([1, 2, 5]) } } ) should_be = array([False, True, False]) instance_name = "urbansim.gridcell.has_2_units" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_for_err(self): avg_income = array([1000, 10000, 100000]) units = array([1, 0, 500]) tester = VariableTester( __file__, package_order=["urbansim"], test_data={ "gridcell": {"grid_id": array([1, 2, 3]), "average_income": avg_income, "residential_units": units} }, ) should_be = array([1000.0, 0.0, 0.0]) tester.test_is_equal_for_family_variable(self, should_be, self.instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['sanfrancisco', 'urbansim'], test_data={ 'business': { "business_id": array([1, 2, 3, 4, 5]), "sector_id": array([4, 2, 4, 3, 4]) }, }) should_be = array([1, 0, 1, 0, 1]) instance_name = 'sanfrancisco.business.is_of_sector_4' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test(self): tester = VariableTester(__file__, package_order=['opus_core'], test_data={ 'test': { 'id': array([1, 2]), 'attr1': array([1, 2]), }, }) should_be = array([1 * 32, 2 * 32]) instance_name = 'opus_core.test.attr_test_family_32' tester.test_is_equal_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]), "development_type_id": array([1, 2, 5]) } }) should_be = array([True, False, False]) instance_name = "urbansim.gridcell.devtype_1" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): #declare an array of four locations, each with the specified sector ID below tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3, 4]), "plan_type_id": array([1, 3, 2, 3]) } }) should_be = array([False, True, False, True]) instance_name = "urbansim.gridcell.is_plan_type_3" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim_parcel','urbansim'], test_data={ "job":{ "job_id":array([1, 2, 3, 4, 5, 6, 7, 8]), "sector_id":array([1, 2, 2, 2, 3, 3, 4, 5]), }, } ) should_be = array([0, 1, 1, 1, 0, 0, 0, 0]) instance_name = 'urbansim_parcel.job.is_sector_2' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test(self): tester = VariableTester( __file__, package_order=['opus_core'], test_data={ 'test':{ 'id': array([1, 2]), 'attr1': array([1, 2]), }, } ) should_be = array([1*32, 2*32]) instance_name = 'opus_core.test.attr_test_family_32' tester.test_is_equal_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]), "development_type_id":array([1, 2, 5]) } } ) should_be = array([True, False, False]) instance_name = "urbansim.gridcell.devtype_1" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=["mag_zone", "urbansim_zone"], test_data={ "household": { "household_id": array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), "income": array([1.5, 9.4, 2.6, 5.3, 8.8, 3.3, 4.6, 10.4, 3.4, 6.2]), } }, ) should_be = array([1, 5, 1, 3, 4, 2, 3, 5, 2, 4]) instance_name = "mag_zone.household.income_quintiles" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['urbansim', 'opus_core'], test_data={ 'gridcell': { 'grid_id': array([1, 2, 3, 4]), 'development_type_id': array([1, 3, 2, 3]), }, 'development_events': { 'grid_id': array([100, 100, 101, 102]), 'scheduled_year': array([1999, 1998, 1999, 1999]), 'starting_development_type_id': array([1, 3, 2, 3]), 'ending_development_type_id': array([1, 1, 2, 3]), }, 'development_type': { 'development_type_id': array([1, 2, 3]), 'name': array(['low', 'medium', 'high']), 'min_units': array([1, 2, 10]), 'max_units': array([1, 9, 999]), 'min_sqft': array([1, 100, 1000]), 'max_sqft': array([99, 999, 99999]), }, 'development_group': { 'group_id': array([1, 2, 3]), 'name': array(["mixed_use", "high_density_residential", 'other']), }, 'development_type_group_definitions': { 'id': array([1, 2, 3, 4]), 'group_id': array([1, 2, 2, 3]), 'development_type_id': array([1, 1, 2, 3]), } }) # Test variable 1 should_be = array([True, False, False, False]) instance_name1 = "urbansim.gridcell.is_in_development_type_group_mixed_use" tester.test_is_equal_for_family_variable(self, should_be, instance_name1) # Test variable 2 should_be = array([True, False, True, False]) instance_name2 = "urbansim.gridcell.is_in_development_type_group_high_density_residential" tester.test_is_equal_for_family_variable(self, should_be, instance_name2)
def test_my_inputs( self ): #declare an array of four locations, each with the specified sector ID below tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":array([1, 2, 3, 4]), "plan_type_id":array([1, 3, 2, 3]) } } ) should_be = array( [False, True, False, True] ) instance_name = "urbansim.gridcell.is_plan_type_3" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): tester = VariableTester(__file__, package_order=['urbansim_parcel', 'urbansim'], test_data={ "job": { "job_id": array([1, 2, 3, 4, 5, 6, 7, 8]), "sector_id": array([1, 2, 2, 2, 3, 3, 4, 5]), }, }) should_be = array([0, 1, 1, 1, 0, 0, 0, 0]) instance_name = 'urbansim_parcel.job.is_sector_2' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_for_err(self): avg_income = array([1000, 10000, 100000]) units = array([1, 0, 500]) tester = VariableTester(__file__, package_order=['urbansim'], test_data={ "gridcell": { "grid_id": array([1, 2, 3]), "average_income": avg_income, "residential_units": units } }) should_be = array([1000.0, 0.0, 0.0]) tester.test_is_equal_for_family_variable(self, should_be, self.instance_name)
def test_my_inputs(self): tester = VariableTester( __file__, package_order=['psrc_parcel', 'urbansim_parcel', 'urbansim'], test_data={ 'gridcell': { "grid_id": array([1, 2, 3, 4,5,6,7,8]), "relative_x": array([1, 2, 3, 4,1,2,3,4]), "relative_y": array([1, 1, 1, 1, 2,2,2,2 ]), }, 'parcel': { "parcel_id": array([1, 2, 3, 4,5]), "grid_id": array([5, 3, 7, 7,8]), }, 'building': { "building_id": array([1,2,3,4,5,6]), "parcel_id": array([1,1,2,1,4,5]), "residential_units":array([1,2,1,5,7,3]) }, 'urbansim_constant': { "cell_size": array([1]) }, # the following datasets do not influence the test results 'household': { "household_id":array([1,2,3,4,5,6]), "building_id":array([1,2,3,4,5,6]), }, 'job': { "job_id":array([1,2,3,4,5,6]), "building_id":array([1,2,3,4,5,6]), } }) # these are expected values if mode='constant' (in gridcell.SSS_within_DDD_radius) #should_be = array([15, 11, 19, 19, 11]) # these are expected values if mode='reflect' (default in gridcell.SSS_within_DDD_radius) should_be = array([39, 26, 34, 34, 34]) instance_name = 'psrc_parcel.parcel.residential_units_within_2_radius' tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): home_access_to_population = array([1000.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}, }, ) should_be = array([1000.0, 1000.0, 12000.0, 5000.0, 5000.0]) # The number of cars is 2 in this test. instance_name = "urbansim.gridcell.home_access_to_population_2" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_internal_categories( self ): tester = VariableTester( __file__, package_order=['urbansim'], test_data={ 'household': { 'household_id': array([1, 2, 3, 4]), 'income': array([45000, 50000, 75000, 100000]), }, 'urbansim_constant': { 'id': array([1]) } } ) should_be = array( [1, 1, 0, 0] ) instance_name = "urbansim.household.is_income_3" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): sqft_of_commercial_jobs = array([1225, 5000, 7600]) commercial_sqft = array([1995, 10000, 7500]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":array([1,2,3]), "sqft_of_commercial_jobs":sqft_of_commercial_jobs, "buildings_commercial_sqft":commercial_sqft } } ) should_be = array([770, 5000, 0]) instance_name = "urbansim.gridcell.vacant_commercial_sqft_from_buildings" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): high_income = array([1, 0, 1, 0]) #specify the total income for each of three locations units = array([5, 4, 8, 3]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":array([1,2,3,4]), "is_average_income_within_walking_distance_high_income":high_income, "residential_units":units } } ) should_be = array([1, 0, 0, 0]) #would be a 2-D array if it spanned more than one "directory" instance_name = "urbansim.gridcell.is_average_income_within_walking_distance_high_income_and_has_1_to_5_units" tester.test_is_equal_for_family_variable(self, should_be, instance_name)
def test_my_inputs(self): total_land_value = array([100, 200, 300]) is_in_plan_type_group_residential = array([1, 0, 1]) tester = VariableTester( __file__, package_order=['urbansim'], test_data={ "gridcell":{ "grid_id":array([1,2,3]), "total_land_value":total_land_value, "is_in_plan_type_group_residential":is_in_plan_type_group_residential } } ) should_be = array([100, 0, 300]) instance_name = "urbansim.gridcell.total_land_value_if_in_plan_type_group_residential" tester.test_is_equal_for_family_variable(self, should_be, instance_name)