def _base_metrics(self, use_user): '''Creates and counts the popularity of random tags. The test will compare this with the result of the indices.''' #Generating some random annotations any_date = time.time() tag_pop = defaultdict(int) post_tag_pop = defaultdict(lambda: defaultdict(int)) annotations = [] for i in xrange(32): user = random.randint(0, 4) tag = random.randint(0, 4) item = random.randint(0, 4) annotations.append(data_parser.to_json(user, item, tag, any_date)) post = user if use_user else item tag_pop[tag] += 1 post_tag_pop[post][tag] += 1 if use_user: index = create_metrics_index(annotations, 'user', 'tag') else: index = create_metrics_index(annotations, 'item', 'tag') self.assertEquals(post_tag_pop, index[0]) self.assertEquals(tag_pop, index[2])
def test_metrics_small_file(self): p = data_parser.Parser() with open(test.SMALL_DEL_FILE) as f: annots = [ a for a in p.iparse(f, data_parser.delicious_flickr_parser) ] item_tag_frequencies, collection_item_frequency, \ collection_tag_frequency1 = create_metrics_index(annots, 'item', 'tag') user_tag_frequencies, collection_user_frequency, \ collection_tag_frequency2 = create_metrics_index(annots, 'user', 'tag') self.assertEquals(collection_item_frequency[0], 5) self.assertEquals(collection_item_frequency[1], 1) self.assertEquals(collection_item_frequency[2], 2) self.assertEquals(collection_item_frequency[3], 1) self.assertEquals(collection_item_frequency[4], 1) self.assertEquals(collection_user_frequency[0], 4) self.assertEquals(collection_user_frequency[1], 4) self.assertEquals(collection_user_frequency[2], 2) self.assertEquals(item_tag_frequencies[0][0], 2) self.assertEquals(item_tag_frequencies[0][1], 1) self.assertEquals(item_tag_frequencies[0][2], 0) self.assertEquals(item_tag_frequencies[0][3], 1) self.assertEquals(item_tag_frequencies[0][4], 1) self.assertEquals(item_tag_frequencies[0][5], 0) self.assertEquals(user_tag_frequencies[2][0], 0) self.assertEquals(user_tag_frequencies[2][1], 0) self.assertEquals(user_tag_frequencies[2][2], 0) self.assertEquals(user_tag_frequencies[2][3], 0) self.assertEquals(user_tag_frequencies[2][4], 1) self.assertEquals(user_tag_frequencies[2][5], 1) self.assertEquals(collection_tag_frequency1[0], 3) self.assertEquals(collection_tag_frequency1[1], 3) self.assertEquals(collection_tag_frequency1[2], 1) self.assertEquals(collection_tag_frequency1[3], 1) self.assertEquals(collection_tag_frequency1[4], 1) self.assertEquals(collection_tag_frequency1[5], 1) self.assertEquals(collection_tag_frequency1, collection_tag_frequency2)
def test_metrics_small_file(self): p = data_parser.Parser() with open(test.SMALL_DEL_FILE) as f: annots = [a for a in p.iparse(f, data_parser.delicious_flickr_parser)] item_tag_frequencies, collection_item_frequency, \ collection_tag_frequency1 = create_metrics_index(annots, 'item', 'tag') user_tag_frequencies, collection_user_frequency, \ collection_tag_frequency2 = create_metrics_index(annots, 'user', 'tag') self.assertEquals(collection_item_frequency[0], 5) self.assertEquals(collection_item_frequency[1], 1) self.assertEquals(collection_item_frequency[2], 2) self.assertEquals(collection_item_frequency[3], 1) self.assertEquals(collection_item_frequency[4], 1) self.assertEquals(collection_user_frequency[0], 4) self.assertEquals(collection_user_frequency[1], 4) self.assertEquals(collection_user_frequency[2], 2) self.assertEquals(item_tag_frequencies[0][0], 2) self.assertEquals(item_tag_frequencies[0][1], 1) self.assertEquals(item_tag_frequencies[0][2], 0) self.assertEquals(item_tag_frequencies[0][3], 1) self.assertEquals(item_tag_frequencies[0][4], 1) self.assertEquals(item_tag_frequencies[0][5], 0) self.assertEquals(user_tag_frequencies[2][0], 0) self.assertEquals(user_tag_frequencies[2][1], 0) self.assertEquals(user_tag_frequencies[2][2], 0) self.assertEquals(user_tag_frequencies[2][3], 0) self.assertEquals(user_tag_frequencies[2][4], 1) self.assertEquals(user_tag_frequencies[2][5], 1) self.assertEquals(collection_tag_frequency1[0], 3) self.assertEquals(collection_tag_frequency1[1], 3) self.assertEquals(collection_tag_frequency1[2], 1) self.assertEquals(collection_tag_frequency1[3], 1) self.assertEquals(collection_tag_frequency1[4], 1) self.assertEquals(collection_tag_frequency1[5], 1) self.assertEquals(collection_tag_frequency1, collection_tag_frequency2)