def test_instances(self): schemas = pybikes.get_all_data() for schema in schemas: instances = pybikes.get_instances(schema) for _class, instance in instances: self._test_instance_fields(instance, schema, _class) self._test_instance_unique(instance, schema, _class)
def test_instances(self): schemas = pybikes.get_all_data() for schema in schemas: instances = pybikes.get_instances(schema) for _, instance in instances: self._test_instance_unique(instance, schema) self._test_instance_fields(instance, schema)
def nearest_city_find(position): where_to_search = {} for schema in pybikes.get_all_data(): data = pybikes.get_data(schema) instances = data.get('instances', None) if not instances: instances = [] for key, value in data['class'].items(): instances.extend(value['instances']) for instance in instances: where_to_search[instance['tag']] = instance['meta'] # now where_to_search contains a map (tag, {latitude, longitude, ...}) #pprint(where_to_search) distance_sq = float('inf') best = -1 #print("results_set has size: " + str(len(results_set))) for key, value in where_to_search.items(): d2 = (position['latitude'] - value['latitude'])**2 + ( position['longitude'] - value['longitude'])**2 if d2 < distance_sq: distance_sq = d2 best = key #print("nearest is " + best) return best, where_to_search[best]
for field in ['city', 'country', 'name']: self.assertIn(field, meta, msg=('Missing %r on ' % field) + msg) self.assertIsInstance(meta[field], basestring, msg=('Error in %r on ' % field) + msg) def create_test_schema_method(schema): def test_schema(self): self._test_systems(schema) return test_schema def create_test_system_method(schema, tag): def test_system(self): key = getattr(keys, schema, None) self._test_system(tag, key) return test_system schemas = map(lambda name: re.sub(r'\.json$', '', name), pybikes.get_all_data()) for schema in schemas: test_schema = create_test_schema_method(schema) test_schema.__name__ = 'test_%s' % schema setattr(TestSystems, test_schema.__name__, test_schema) for clsname, instance in pybikes.get_instances(schema): test_system = create_test_system_method(schema, instance.get('tag')) test_system.__name__ = 'test_%s' % str(instance.get('tag')) setattr(TestSystems, test_system.__name__, test_system) if __name__ == '__main__': unittest.main()
self.assertEqual(in_bounds, list(result)) def create_test_schema_method(schema): def test_schema(self): self._test_systems(schema) return test_schema def create_test_system_method(schema, tag): def test_system(self): key = getattr(keys, schema, None) self._test_system(tag, key) return test_system schemas = map(lambda name: re.sub(r"\.json$", "", name), pybikes.get_all_data()) for schema in schemas: test_schema = create_test_schema_method(schema) test_schema.__name__ = "test_%s" % schema setattr(TestSystems, test_schema.__name__, test_schema) for clsname, instance in pybikes.get_instances(schema): test_system = create_test_system_method(schema, instance.get("tag")) test_system.__name__ = "test_%s" % str(instance.get("tag")) setattr(TestSystems, test_system.__name__, test_system) if __name__ == "__main__": unittest.main()
) self.fail(msg) self.tags[instance['tag']] = { 'instance': instance, 'schema': schema } def _test_instance_fields(self, instance, schema): self.longMessage = True msg = '{} contains errors. File: {}'.format(instance, schema) meta = instance['meta'] self.assertIn('latitude', meta, msg=msg) self.assertIn('longitude', meta, msg=msg) self.assertIsInstance(meta['latitude'], float, msg=msg) self.assertIsInstance(meta['longitude'], float, msg=msg) def create_test_schema_method(schema): def test_schema(self): self._test_systems(schema) return test_schema schemas = map(lambda name: re.sub(r'\.json$', '', name), pybikes.get_all_data()) for schema in schemas: test_schema = create_test_schema_method(schema) test_schema.__name__ = 'test_%s' % schema setattr(TestSystems, test_schema.__name__, test_schema) if __name__ == '__main__': unittest.main()
def create_test_schema_method(schema): def test_schema(self): self._test_systems(schema) return test_schema def create_test_system_method(schema, tag): def test_system(self): key = getattr(keys, schema, None) self._test_system(tag, key) return test_system schemas = map(lambda name: re.sub(r'\.json$', '', name), pybikes.get_all_data()) for schema in schemas: test_schema = create_test_schema_method(schema) test_schema.__name__ = 'test_%s' % schema setattr(TestSystems, test_schema.__name__, test_schema) for clsname, instance in pybikes.get_instances(schema): test_system = create_test_system_method(schema, instance.get('tag')) test_system.__name__ = 'test_%s' % str(instance.get('tag')) setattr(TestSystems, test_system.__name__, test_system) if __name__ == '__main__': unittest.main()
self.assertEqual(in_bounds, list(result)) def create_test_schema_method(schema): def test_schema(self): self._test_systems(schema) return test_schema def create_test_system_method(schema, tag): def test_system(self): key = getattr(keys, schema, None) self._test_system(tag, key) return test_system schemas = [re.sub(r'\.json$', '', name) for name in pybikes.get_all_data()] for schema in schemas: test_schema = create_test_schema_method(schema) test_schema.__name__ = 'test_%s' % schema setattr(TestSystems, test_schema.__name__, test_schema) for clsname, instance in pybikes.get_instances(schema): test_system = create_test_system_method(schema, instance.get('tag')) test_system.__name__ = 'test_%s' % str(instance.get('tag')) setattr(TestSystems, test_system.__name__, test_system) if __name__ == '__main__': unittest.main()