示例#1
0
 def test_getNearestDocument_usingANearbyKeyInTrie(self):
     digitReplacement = {'0': '1', '1': '0'}
     newDocWithANearbySignature = Document(3, VectorGenerator.getRandomGaussianUnitVector(dimension=self.dimension, mu=0, sigma=1))
     exactSignature = self.doc1.signature.to01() 
     newDocWithANearbySignature.signature = Signature(exactSignature[:-1]+digitReplacement[exactSignature[-1]])
     self.assertNotEquals(self.doc1.signature.to01(), newDocWithANearbySignature.signature.to01())
     self.assertEqual(self.pm.getNearestDocuments(newDocWithANearbySignature), set([1])) # This assertion can sometimes fail because of randomization. Run the tests again. It's OK!
示例#2
0
 def test_removeDocument_documents(self):
     newDocModifiedWithExistingSignature = Document(3, VectorGenerator.getRandomGaussianUnitVector(dimension=self.dimension, mu=0, sigma=1))
     newDocModifiedWithExistingSignature.signature = Signature(self.doc1.signature.to01())
     self.pm.addDocument(newDocModifiedWithExistingSignature)
     self.assertEqual(self.pm.signatureTrie[self.doc1.signature.permutate(self.pm).to01()], set([1, 3]))
     self.pm.removeDocument(newDocModifiedWithExistingSignature)
     self.assertEqual(self.pm.signatureTrie[self.doc1.signature.permutate(self.pm).to01()], set([1]))
     self.pm.removeDocument(self.doc1)
     self.assertEqual(None, self.pm.signatureTrie.get(self.doc1.signature.permutate(self.pm).to01()))
示例#3
0
 def test_addDocument_existingKey(self):
     newDocModifiedWithExistingSignature = Document(
         3,
         VectorGenerator.getRandomGaussianUnitVector(
             dimension=self.dimension, mu=0, sigma=1))
     newDocModifiedWithExistingSignature.signature = Signature(
         self.doc1.signature.to01())
     self.pm.addDocument(newDocModifiedWithExistingSignature)
     self.assertEqual(
         self.pm.signatureTrie[self.doc1.signature.permutate(
             self.pm).to01()], set([1, 3]))
示例#4
0
 def test_getNearestDocument_usingANearbyKeyInTrie(self):
     digitReplacement = {'0': '1', '1': '0'}
     newDocWithANearbySignature = Document(
         3,
         VectorGenerator.getRandomGaussianUnitVector(
             dimension=self.dimension, mu=0, sigma=1))
     exactSignature = self.doc1.signature.to01()
     newDocWithANearbySignature.signature = Signature(
         exactSignature[:-1] + digitReplacement[exactSignature[-1]])
     self.assertNotEquals(self.doc1.signature.to01(),
                          newDocWithANearbySignature.signature.to01())
     self.assertEqual(
         self.pm.getNearestDocuments(newDocWithANearbySignature), set([1])
     )  # This assertion can sometimes fail because of randomization. Run the tests again. It's OK!