def test_get_publication_data(self): '''Test getting publication data''' from models import get_publication_data data = get_publication_data(testset) # The most important thing here is to test that it is a list # of MetricsModel instances self.assertEqual(isinstance(data, list), True) self.assertTrue(False not in [x.__class__.__name__ == 'MetricsModel' for x in data])
def test_get_publication_data(self): '''Test getting publication data''' from models import get_publication_data data = get_publication_data(testset) # The most important thing here is to test that it is a list # of MetricsModel instances self.assertEqual(isinstance(data, list), True) self.assertTrue( False not in [x.__class__.__name__ == 'MetricsModel' for x in data])
def get_publication_histograms(identifiers): ph = {} current_year = datetime.now().year # Get necessary data data = get_publication_data(identifiers) # Get the publication histogram years = [int(p.bibcode[:4]) for p in data] nullhist = [(y, 0) for y in range(min(years), current_year + 1)] yearhist = cy.frequencies(years) ph['all publications'] = merge_dictionaries(dict(nullhist), yearhist) years_ref = [int(p.bibcode[:4]) for p in data if p.refereed] yearhist = cy.frequencies(years_ref) ph['refereed publications'] = merge_dictionaries(dict(nullhist), yearhist) # Get the normalized publication histogram tmp = [(int(p.bibcode[:4]), 1.0 / float(p.author_num)) for p in data] ph['all publications normalized'] = get_norm_histo(nullhist + tmp) tmp = [(int(p.bibcode[:4]), 1.0 / float(p.author_num)) for p in data if p.refereed] ph['refereed publications normalized'] = get_norm_histo(nullhist + tmp) return ph