def testInit(self): numVertices = 0 numFeatures = 1 vList = VertexList(numVertices, numFeatures) graph = SparseGraph(vList) numVertices = 10 numFeatures = 1 vList = VertexList(numVertices, numFeatures) graph = SparseGraph(vList) self.assertEquals(graph.weightMatrixType(), scipy.sparse.csr_matrix) self.assertRaises(ValueError, SparseGraph, []) self.assertRaises(ValueError, SparseGraph, vList, 1) self.assertRaises(ValueError, SparseGraph, vList, True, 1) #Now test invalid values of W W = numpy.zeros((numVertices, numVertices)) self.assertRaises(ValueError, SparseGraph, vList, True, W) W = scipy.sparse.lil_matrix((numVertices + 1, numVertices)) self.assertRaises(ValueError, SparseGraph, vList, True, W) W = scipy.sparse.lil_matrix((numVertices, numVertices)) W[0, 1] = 1 self.assertRaises(ValueError, SparseGraph, vList, True, W) W = scipy.sparse.lil_matrix((numVertices, numVertices)) graph = SparseGraph(vList, W=W) self.assertEquals(graph.weightMatrixType(), scipy.sparse.lil_matrix) #Test intialising with non-empty graph numVertices = 10 W = scipy.sparse.csr_matrix((numVertices, numVertices)) W[1, 0] = 1.1 W[0, 1] = 1.1 graph = SparseGraph(numVertices, W=W) self.assertEquals(graph[1, 0], 1.1) #Test just specifying number of vertices graph = SparseGraph(numVertices) self.assertEquals(graph.size, numVertices) #Try creating a sparse matrix of dtype int graph = SparseGraph(numVertices, dtype=numpy.int) self.assertEquals(graph.W.dtype, numpy.int) graph[0, 0] = 1.2 self.assertEquals(graph[0, 0], 1) #Test the different sparse matrix formats graph = SparseGraph(numVertices, frmt="lil") self.assertEquals(type(graph.W), scipy.sparse.lil_matrix) graph = SparseGraph(numVertices, frmt="csr") self.assertEquals(type(graph.W), scipy.sparse.csr_matrix) graph = SparseGraph(numVertices, frmt="csc") self.assertEquals(type(graph.W), scipy.sparse.csc_matrix)
def testInit(self): numVertices = 0 numFeatures = 1 vList = VertexList(numVertices, numFeatures) graph = SparseGraph(vList) numVertices = 10 numFeatures = 1 vList = VertexList(numVertices, numFeatures) graph = SparseGraph(vList) self.assertEquals(graph.weightMatrixType(), scipy.sparse.csr_matrix) self.assertRaises(ValueError, SparseGraph, []) self.assertRaises(ValueError, SparseGraph, vList, 1) self.assertRaises(ValueError, SparseGraph, vList, True, 1) #Now test invalid values of W W = numpy.zeros((numVertices, numVertices)) self.assertRaises(ValueError, SparseGraph, vList, True, W) W = scipy.sparse.lil_matrix((numVertices+1, numVertices)) self.assertRaises(ValueError, SparseGraph, vList, True, W) W = scipy.sparse.lil_matrix((numVertices, numVertices)) W[0, 1] = 1 self.assertRaises(ValueError, SparseGraph, vList, True, W) W = scipy.sparse.lil_matrix((numVertices, numVertices)) graph = SparseGraph(vList, W=W) self.assertEquals(graph.weightMatrixType(), scipy.sparse.lil_matrix) #Test intialising with non-empty graph numVertices = 10 W = scipy.sparse.csr_matrix((numVertices, numVertices)) W[1, 0] = 1.1 W[0, 1] = 1.1 graph = SparseGraph(numVertices, W=W) self.assertEquals(graph[1, 0], 1.1) #Test just specifying number of vertices graph = SparseGraph(numVertices) self.assertEquals(graph.size, numVertices) #Try creating a sparse matrix of dtype int graph = SparseGraph(numVertices, dtype=numpy.int) self.assertEquals(graph.W.dtype, numpy.int) graph[0, 0] = 1.2 self.assertEquals(graph[0, 0], 1) #Test the different sparse matrix formats graph = SparseGraph(numVertices, frmt="lil") self.assertEquals(type(graph.W), scipy.sparse.lil_matrix) graph = SparseGraph(numVertices, frmt="csr") self.assertEquals(type(graph.W), scipy.sparse.csr_matrix) graph = SparseGraph(numVertices, frmt="csc") self.assertEquals(type(graph.W), scipy.sparse.csc_matrix)