Esempio n. 1
0
 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])
Esempio n. 2
0
    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])
Esempio n. 3
0
    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)
Esempio n. 4
0
 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)