Example #1
0
 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)
Example #2
0
 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)
Example #3
0
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]
Example #4
0
        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()
Example #5
0
        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()
Example #6
0
            )
            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()
Example #7
0

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()
Example #8
0
        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()