def setup(self): self.A = sp.csr_matrix(np.array( [[0. , 0. , 0.5, 0. , 0. ], [0. , 0. , 1. , 0. , 0. ], [0.5, 1. , 0. , 1. , 0. ], [0. , 0. , 1. , 0. , 2. ], [0. , 0. , 0. , 2. , 0. ]])) self.dA = DistanceMatrix(self.A) self.B = sp.csr_matrix(np.array( [[0. , 0. , 0.2, 0. , 1. ], [0. , 0. , 0. , 1. , 0. ], [0.2, 0. , 0. , 1. , 3. ], [0. , 1. , 1. , 0. , 0. ], [1. , 0. , 3. , 0. , 0. ]])) self.dB = DistanceMatrix(self.B)
def test_add(self): new_coll = self.gcoll + GraphCollection(self.spC) assert np.allclose(new_coll[2].adj_matrix.A, self.spC.adj_matrix.A) new_dist = np.array( [[0. , 1. , 0. ], [1. , 0. , 0. ], [0. , 0. , 0. ]]) assert np.all(new_coll.dists == DistanceMatrix(new_dist)) new_coll2 = GraphCollection(self.spC) + self.gcoll assert np.allclose(new_coll2[0].adj_matrix.A, self.spC.adj_matrix.A) new_dist = np.array( [[0. , 0. , 0. ], [0. , 0. , 1. ], [0. , 1. , 0. ]]) assert np.all(new_coll2.dists == DistanceMatrix(new_dist))
def test_del(self): self.gcoll.append(self.spC) del self.gcoll[0] assert len(self.gcoll) == 2 assert np.allclose(self.gcoll[0].adj_matrix.A, self.spB.adj_matrix.A) assert np.allclose(self.gcoll[1].adj_matrix.A, self.spC.adj_matrix.A) assert np.all(self.gcoll.dists == DistanceMatrix(np.zeros([2, 2])))
def test_extend(self): self.gcoll.extend(copy.deepcopy(self.gcoll)) new_dist = np.array( [[0. , 1. , 0. , 0. ], [1. , 0. , 0. , 0. ], [0. , 0. , 0. , 1. ], [0. , 0. , 1. , 0. ]]) assert np.all(self.gcoll.dists == DistanceMatrix(new_dist))
def test_extend_single(self): self.gcoll.extend(GraphCollection(self.spC)) assert np.allclose(self.gcoll[2].adj_matrix.A, self.spC.adj_matrix.A) new_dist = np.array( [[0. , 1. , 0. ], [1. , 0. , 0. ], [0. , 0. , 0. ]]) assert np.all(self.gcoll.dists == DistanceMatrix(new_dist))
def test_append(self): self.gcoll.append(self.spC) assert np.allclose(self.gcoll[2].adj_matrix.A, self.spC.adj_matrix.A) new_dist = np.array( [[0. , 1. , 0. ], [1. , 0. , 0. ], [0. , 0. , 0. ]]) assert np.all(self.gcoll.dists == DistanceMatrix(new_dist))
def test_del_sparse(self): self.gcoll_spdist.append(self.spC) del self.gcoll_spdist[0] assert len(self.gcoll_spdist) == 2 assert np.allclose(self.gcoll_spdist[0].adj_matrix.A, self.spB.adj_matrix.A) assert np.allclose(self.gcoll_spdist[1].adj_matrix.A, self.spC.adj_matrix.A) assert self.gcoll_spdist.dists.issparse assert np.all(self.gcoll_spdist.dists == DistanceMatrix(np.zeros([2, 2])))
def test_add_sparse(self): new_coll = self.gcoll_spdist + GraphCollection(self.spC) assert np.allclose(new_coll[2].adj_matrix.A, self.spC.adj_matrix.A) new_dist = np.array( [[0. , 1. , 0. ], [1. , 0. , 0. ], [0. , 0. , 0. ]]) assert new_coll.dists.issparse assert np.all(new_coll.dists == DistanceMatrix(new_dist))
def test_dist_add(self): dC = self.dA + self.dB resC = sp.csr_matrix(np.array( [[0. , 0. , 0.7, 0. , 1. ], [0. , 0. , 1. , 1. , 0. ], [0.7, 1. , 0. , 2. , 3. ], [0. , 1. , 2. , 0. , 2. ], [1. , 0. , 3. , 2. , 0. ]])) assert (dC != DistanceMatrix(resC)).nnz == 0
def test_dist_sub_zero(self): dC = self.dA - self.dA assert np.all(dC == DistanceMatrix(np.zeros([5, 5])))