class TestWorldPopClass(unittest.TestCase): ''' Tests for the WorldPop class. ''' def setUp(self): self.keys = ['instance', 'success', 'data', 'key'] self.wp = WorldPop() self.basic_info = WorldPop().info() def test_class_information_is_dictionary(self): ''' Class method info() returns dictionary. ''' result = self.basic_info self.assertIs(type(result), dict) def test_class_information_has_right_keys(self): ''' Class method info() has right keys. ''' result = self.basic_info for key in self.keys: self.assertIn(key, result.keys()) def test_class_information_success_is_boolean(self): ''' Class method info() returns boolean. ''' result = self.basic_info self.assertIs(type(result['success']), bool) def test_class_worldpop_successfully_receives_data(self): ''' WorldPop class successfully receives JSON data. ''' result = self.basic_info print(result) self.assertIs(type(result['data']), dict) def test_dataset_method_returns_a_list(self): ''' Tests that the datasets() method returns a list. ''' result = self.wp.datasets() self.assertIs(type(result), list)
def main(): ''' Program wrapper. ''' contents = WorldPop().info() # # Collects data and organizes # in lists and dictionaries. # datasets = [] resources = [] for dataset in contents['data']['worldPopData']: d = parse_dataset(dataset) if d is not None: datasets.append(d['metadata']) resources.append(d['resource']) export_json(datasets, 'data/datasets.json') export_json(resources, 'data/resources.json') print('%s Total datasets downloaded %s' % (item('success'), str(len(datasets))))
def setUp(self): self.keys = ['instance', 'success', 'data', 'key'] self.wp = WorldPop() self.basic_info = WorldPop().info()