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 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_systems(self, schema): key = getattr(keys, schema, None) print('\nTesting %s' % schema) print('=============================') for cname, instance in pybikes.get_instances(schema): self._test_system(instance['tag'], key)
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()
def _test_systems(self, schema): key = getattr(keys, schema, None) print("\nTesting %s" % schema) print("=============================") for cname, instance in pybikes.get_instances(schema): self._test_system(instance["tag"], key)
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()