<s> import unittest <EOL> import os <EOL> import numpy <EOL> from apgl . io . MultiGraphCsvReader import MultiGraphCsvReader <EOL> from apgl . util . PathDefaults import PathDefaults <EOL> class MultiGraphCsvReaderTest ( unittest . TestCase ) : <EOL> def setUp ( self ) : <EOL> pass <EOL> def testReadGraph ( self ) : <EOL> dir = PathDefaults . getDataDir ( ) <EOL> vertexFileName = dir + "<STR_LIT>" <EOL> edgeFileNames = [ dir + "<STR_LIT>" , dir + "<STR_LIT>" ] <EOL> def genderConv ( x ) : <EOL> genderDict = { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT>' : <NUM_LIT:1> } <EOL> return genderDict [ x ] <EOL> def orientConv ( x ) : <EOL> orientDict = { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT>' : <NUM_LIT:1> } <EOL> return orientDict [ x ] <EOL> def fteConv ( x ) : <EOL> fteDict = { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT>' : <NUM_LIT:1> } <EOL> return fteDict [ x ] <EOL> def provConv ( x ) : <EOL> provDict = { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT>' : <NUM_LIT:1> , '<STR_LIT>' : <NUM_LIT:2> , '<STR_LIT>' : <NUM_LIT:3> , '<STR_LIT>' : <NUM_LIT:4> } <EOL> return provDict [ x ] <EOL> converters = { <NUM_LIT:3> : genderConv , <NUM_LIT:4> : orientConv , <NUM_LIT:5> : fteConv , <NUM_LIT:6> : provConv } <EOL> idIndex = <NUM_LIT:0> <EOL> featureIndices = list ( range ( <NUM_LIT:1> , <NUM_LIT:11> ) ) <EOL> multiGraphCsvReader = MultiGraphCsvReader ( idIndex , featureIndices , converters ) <EOL> sparseMultiGraph = multiGraphCsvReader . readGraph ( vertexFileName , edgeFileNames ) <EOL> vertexValues = numpy . zeros ( ( <NUM_LIT:10> , <NUM_LIT:10> ) ) <EOL> vertexValues [ <NUM_LIT:0> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT:32> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:1> ] ) <EOL> vertexValues [ <NUM_LIT:1> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:4> , <NUM_LIT:1> ] ) <EOL> vertexValues [ <NUM_LIT:2> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT:20> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0> ] ) <EOL> vertexValues [ <NUM_LIT:3> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT:20> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:0> ] ) <EOL> vertexValues [ <NUM_LIT:4> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT:20> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:5> , <NUM_LIT:0> ] ) <EOL> vertexValues [ <NUM_LIT:5> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] ) <EOL> vertexValues [ <NUM_LIT:6> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:6> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] ) <EOL> vertexValues [ <NUM_LIT:7> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ) <EOL> vertexValues [ <NUM_LIT:8> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:3> , <NUM_LIT:0> ] ) <EOL> vertexValues [ <NUM_LIT:9> , : ] = numpy . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:0> ] ) <EOL> for i in range ( sparseMultiGraph . getNumVertices ( ) ) : <EOL> self . assertTrue ( ( sparseMultiGraph . getVertex ( i ) == vertexValues [ i ] ) . all ( ) ) <EOL> edges = numpy . zeros ( ( <NUM_LIT:10> , <NUM_LIT:3> ) ) <EOL> edges [ <NUM_LIT:0> , : ] = numpy . array ( [ <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:1> , : ] = numpy . array ( [ <NUM_LIT:4> , <NUM_LIT:1> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:2> , : ] = numpy . array ( [ <NUM_LIT:5> , <NUM_LIT:3> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:3> , : ] = numpy . array ( [ <NUM_LIT:7> , <NUM_LIT:1> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:4> , : ] = numpy . array ( [ <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:5> , : ] = numpy . array ( [ <NUM_LIT:4> , <NUM_LIT:1> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:6> , : ] = numpy . array ( [ <NUM_LIT:8> , <NUM_LIT:1> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:7> , : ] = numpy . array ( [ <NUM_LIT:8> , <NUM_LIT:2> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:8> , : ] = numpy . array ( [ <NUM_LIT:8> , <NUM_LIT:4> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:9> , : ] = numpy . array ( [ <NUM_LIT:9> , <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> self . assertTrue ( ( sparseMultiGraph . getAllEdges ( ) == edges ) . all ( ) ) <EOL> sparseMultiGraph = multiGraphCsvReader . readGraph ( vertexFileName , edgeFileNames , False ) <EOL> for i in range ( sparseMultiGraph . getNumVertices ( ) ) : <EOL> self . assertTrue ( ( sparseMultiGraph . getVertex ( i ) == vertexValues [ i ] ) . all ( ) ) <EOL> edges = numpy . zeros ( ( <NUM_LIT:10> , <NUM_LIT:3> ) ) <EOL> edges [ <NUM_LIT:0> , : ] = numpy . array ( [ <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:1> , : ] = numpy . array ( [ <NUM_LIT:1> , <NUM_LIT:7> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:2> , : ] = numpy . array ( [ <NUM_LIT:3> , <NUM_LIT:5> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:3> , : ] = numpy . array ( [ <NUM_LIT:4> , <NUM_LIT:1> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:4> , : ] = numpy . array ( [ <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT:0> ] ) <EOL> edges [ <NUM_LIT:5> , : ] = numpy . array ( [ <NUM_LIT:0> , <NUM_LIT:9> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:6> , : ] = numpy . array ( [ <NUM_LIT:1> , <NUM_LIT:8> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:7> , : ] = numpy . array ( [ <NUM_LIT:2> , <NUM_LIT:8> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:8> , : ] = numpy . array ( [ <NUM_LIT:4> , <NUM_LIT:1> , <NUM_LIT:1> ] ) <EOL> edges [ <NUM_LIT:9> , : ] = numpy . array ( [ <NUM_LIT:8> , <NUM_LIT:4> , <NUM_LIT:1> ] ) <EOL> self . assertTrue ( ( sparseMultiGraph . getAllEdges ( ) == edges ) . all ( ) ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> unittest . main ( ) </s>
