Ejemplo n.º 1
0
 def testCrossTanimoto(self):
     v1 = BitVect.SparseBitVect(10)
     v1[0] = 1
     v1[2] = 1
     v1[6] = 1
     v2 = BitVect.BitVect(10)
     v2[0] = 1
     v2[3] = 1
     v2[6] = 1
     assert v1.TanimotoSimilarity(v2) == 0.5, 'TanimotoSimilarity failed'
     assert v2.TanimotoSimilarity(v1) == 0.5, 'TanimotoSimilarity failed'
     assert v1.TanimotoSimilarity(v1) == 1.0, 'TanimotoSimilarity failed'
     assert v2.TanimotoSimilarity(v2) == 1.0, 'TanimotoSimilarity failed'
Ejemplo n.º 2
0
 def testSparseBitOps(self):
     """ test bit operations on SparseBitVects
 """
     v1 = BitVect.SparseBitVect(10)
     v1[0] = 1
     v1[2] = 1
     v1[6] = 1
     v2 = BitVect.SparseBitVect(10)
     v2[0] = 1
     v2[3] = 1
     v2[6] = 1
     assert v1 & v2 == [0, 6], 'binary & failed'
     assert v1 | v2 == [0, 2, 3, 6], 'binary | failed'
     assert v1 ^ v2 == [2, 3], 'binary ^ failed'
Ejemplo n.º 3
0
    def testCrossEuclid(self):
        v1 = BitVect.BitVect(10)
        v1[0] = 1
        v1[2] = 1
        v1[6] = 1
        v2 = BitVect.SparseBitVect(10)
        v2[0] = 1
        v2[3] = 1
        v2[6] = 1

        assert abs(v1.EuclideanDistance(v2) -
                   .14142) < .0001, 'EuclideanDistance failed'
        assert abs(v2.EuclideanDistance(v1) -
                   .14142) < .0001, 'EuclideanDistance failed'
        assert v1.EuclideanDistance(v1) == 0.0, 'EuclideanDistance failed'
        assert v2.EuclideanDistance(v2) == 0.0, 'EuclideanDistance failed'
Ejemplo n.º 4
0
 def testSparseBitGet(self):
     """ test operations to get sparse bits
 """
     v = BitVect.BitVect(10)
     v[0] = 1
     v[2] = 1
     v[6] = 1
     assert len(v) == 10, 'len(SparseBitVect) failed'
     assert v.NumOnBits() == 3, 'NumOnBits failed'
     assert v.GetOnBits() == [0, 2, 6], 'GetOnBits failed'
     assert v.GetOnBits(reverse=1) == [6, 2, 0], 'GetOnBits(reverse) failed'
Ejemplo n.º 5
0
    def testSparseIdx(self):
        """ test indexing into SparseBitVects
    """
        v = BitVect.SparseBitVect(10)
        ok = 1
        try:
            v[0] = 1
            v[2] = 1
        except:
            ok = 0
        assert ok, 'setting bits failed'

        try:
            v[10] = 1
        except:
            ok = 1
        else:
            ok = 0
        assert ok, 'setting high bit should have failed'

        try:
            v[-1] = 1
        except:
            ok = 1
        else:
            ok = 0
        assert ok, 'setting negative bit should have failed'

        assert v[0] == 1, 'bad bit'
        assert v[1] == 0, 'bad bit'
        assert v[2] == 1, 'bad bit'

        try:
            foo = v[10]
        except:
            ok = 1
        else:
            ok = 0
        assert ok, 'getting high bit should have failed'

        try:
            foo = v[-1]
        except:
            ok = 1
        else:
            ok = 0
        assert ok, 'getting negative bit should have failed'