コード例 #1
0
 def test_set_difference(self):
     result1 = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     result2 = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS2],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     disjoint = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS3],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     self.assertIsInstance(
         result2.difference(result1),
         SearchResult,
         )
     result3 = result2 - result1
     for k in result1.keys():
         assert k not in result3
     for k in [key for key in result2 if key not in result1]:
         assert k in result3
     result4 = result1 - disjoint
     assert set(result4.keys()) == set(result1.keys())  # nothing removed
コード例 #2
0
 def test_record_ids(self):
     result = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     rids = result.record_ids()
     assert isinstance(rids, frozenset)
     seq_rids = result.record_ids(ordered=True)
     assert isinstance(seq_rids, list)
     assert len(rids) == len(seq_rids) == len(result.keys())
     assert frozenset([result.rid_for(k) for k in result.keys()]) == rids
コード例 #3
0
 def test_enumeration(self):
     """Test mapping enumeration: keys(), values(), items()"""
     result = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     assert set(result.keys()) == set(ITEMS.keys())  # sufficient
     # all keys present
     for uid in result.keys():
         assert uid in result
         item = ITEMS.get(uid)
         assert ITEMS.get(uid) in result.values()
         assert (uid, item) in result.items()
コード例 #4
0
 def test_idmapping(self):
     result = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     for uidkey in result.keys():
         assert result.uid_for(result.rid_for(uidkey)) == uidkey
コード例 #5
0
 def test_len(self):
     result = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     assert len(result) == len(result.keys())
     assert len(result) == len(ITEMS)
コード例 #6
0
 def test_contains(self):
     result = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     # all keys present
     for uid in result.keys():
         assert uid in result
コード例 #7
0
 def test_get(self):
     """Test get/__getitem__ methods"""
     k = ITEMS.keys()[0]
     result = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     assert result.get(k) is not None
     assert result.get(k) is result[k]
     assert result.get(k) is ITEMS.get(k)
     # key normalization:
     assert result.get(uuid.UUID(k)) is result.get(k)
     # all keys present
     for uid in result.keys():
         assert result.get(uid) is ITEMS.get(uid)
コード例 #8
0
 def test_set_intersection(self):
     result1 = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     result2 = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS2],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     disjoint = SearchResult(
         rids=[rid for rid, uid in _DOCMAP.items() if uid in ITEMS3],
         idmapper=DMAP,
         resolver=RESOLVE_ALL,
         )
     self.assertIsInstance(
         result2.intersection(result1),
         SearchResult,
         )
     # result1 is subset, common elements
     assert set((result1 & result2).keys()) == set(result1.keys())
     # intersection of disjoint set is null set, empty mapping:
     assert not (result1 & disjoint).keys()