Example #1
0
 def test_add_and_gets(self):
     """ Test for the __init__, _get_by_first, _get_by_second function """
     triplets = [(uuid.uuid4(), uuid.uuid4(), uuid.uuid4())
                 for a in range(10)]
     tw_dict = TwoKeyDict(*triplets)
     for triplet in triplets:
         self.assertEqual(tw_dict._get_by_primary(triplet[0]), triplet[2])
         self.assertEqual(tw_dict._get_by_secondary(triplet[1]), triplet[2])
Example #2
0
 def test_add_and_gets(self):
     """ Test for the __init__, _get_by_first, _get_by_second function """
     triplets = [(uuid.uuid4(), uuid.uuid4(), uuid.uuid4())
                 for a in xrange(10)]
     tw_dict = TwoKeyDict(*triplets)
     for triplet in triplets:
         self.assertEqual(tw_dict._get_by_primary(triplet[0]), triplet[2])
         self.assertEqual(tw_dict._get_by_secondary(triplet[1]), triplet[2])
 def test_get_primary_and_secondary_key(self):
     """ Test for fetching the objects stored in the TwoKeyDict """
     triplets = [(uuid.uuid4(), uuid.uuid4(), uuid.uuid4())
                 for a in xrange(10)]
     tw_dict = TwoKeyDict(*triplets)
     for triplet in triplets:
         self.assertEqual(tw_dict._get_secondary_key(triplet[0]),
                          triplet[1])
         self.assertEqual(tw_dict._get_primary_key(triplet[1]), triplet[0])
Example #4
0
 def test_get_primary_and_secondary_key(self):
     """ Test for fetching the objects stored in the TwoKeyDict """
     triplets = [(uuid.uuid4(), uuid.uuid4(), uuid.uuid4())
                 for a in range(10)]
     tw_dict = TwoKeyDict(*triplets)
     for triplet in triplets:
         self.assertEqual(tw_dict._get_secondary_key(triplet[0]),
                          triplet[1])
         self.assertEqual(tw_dict._get_primary_key(triplet[1]),
                          triplet[0])
Example #5
0
    def test_missing_and_then_add(self):
        # Primary
        local_id = '3ea957cb-417f-4944-be6c-02a1b0a84bd2'
        # Secondary
        remote_id = 'https://api.launchpad.net/1.0/bugs/345808'
        value = "Hello world"

        tw_dict = TwoKeyDict()
        self.assertRaises(KeyError, tw_dict._get_secondary_key, remote_id)
        tw_dict.add((local_id, remote_id, value))
        self.assertEqual(remote_id, tw_dict._get_secondary_key(local_id))
Example #6
0
    def test_missing_and_then_add(self):
        # Primary
        local_id = '3ea957cb-417f-4944-be6c-02a1b0a84bd2'
        # Secondary
        remote_id = 'https://api.launchpad.net/1.0/bugs/345808'
        value = "Hello world"

        tw_dict = TwoKeyDict()
        self.assertRaises(KeyError, tw_dict._get_secondary_key, remote_id)
        tw_dict.add((local_id, remote_id, value))
        self.assertEqual(remote_id, tw_dict._get_secondary_key(local_id))
 def test_remove_by_first_or_second(self):
     '''
     Test for removing triplets form the TwoKeyDict
     '''
     triplet_first = (1, 'I', 'one')
     triplet_second = (2, 'II', 'two')
     tw_dict = TwoKeyDict(triplet_first, triplet_second)
     tw_dict._remove_by_primary(triplet_first[0])
     tw_dict._remove_by_secondary(triplet_second[1])
     missing_first = 0
     missing_second = 0
     try:
         tw_dict._get_by_primary(triplet_first[0])
     except KeyError:
         missing_first += 1
     try:
         tw_dict._get_by_secondary(triplet_second[0])
     except KeyError:
         missing_first += 1
     try:
         tw_dict._get_by_secondary(triplet_first[1])
     except KeyError:
         missing_second += 1
     try:
         tw_dict._get_by_secondary(triplet_second[1])
     except KeyError:
         missing_second += 1
     self.assertEqual(missing_first, 2)
     self.assertEqual(missing_second, 2)
     #check for memory leaks
     dict_len = 0
     for key in tw_dict._primary_to_value.iterkeys():
         dict_len += 1
     self.assertEqual(dict_len, 0)
Example #8
0
 def test_remove_by_first_or_second(self):
     """ Test for removing triplets form the TwoKeyDict """
     triplet_first = (1, 'I', 'one')
     triplet_second = (2, 'II', 'two')
     tw_dict = TwoKeyDict(triplet_first, triplet_second)
     tw_dict._remove_by_primary(triplet_first[0])
     tw_dict._remove_by_secondary(triplet_second[1])
     missing_first = 0
     missing_second = 0
     try:
         tw_dict._get_by_primary(triplet_first[0])
     except KeyError:
         missing_first += 1
     try:
         tw_dict._get_by_secondary(triplet_second[0])
     except KeyError:
         missing_first += 1
     try:
         tw_dict._get_by_secondary(triplet_first[1])
     except KeyError:
         missing_second += 1
     try:
         tw_dict._get_by_secondary(triplet_second[1])
     except KeyError:
         missing_second += 1
     self.assertEqual(missing_first, 2)
     self.assertEqual(missing_second, 2)
     # check for memory leaks
     dict_len = 0
     for key in tw_dict._primary_to_value.iterkeys():
         dict_len += 1
     self.assertEqual(dict_len, 0)