def testReadFiles(self): p = 0.5 eCsvReader = EgoCsvReader() eCsvReader.setP(p) dataDir = PathDefaults.getDataDir() + "infoDiffusion/" egoFileName = dataDir + "EgoData3.csv" alterFileName = dataDir + "AlterData10.csv" examplesList, egoIndicesR, alterIndices, egoIndicesNR, alterIndicesNR = eCsvReader.readFiles(egoFileName, alterFileName) #logging.debug(examplesList.getDataField("X")) #Read in the ego and alter arrays (egoArray, _) = eCsvReader.readFile(egoFileName, eCsvReader.getEgoQuestionIds()) (alterArray, _) = eCsvReader.readFile(alterFileName, eCsvReader.getAlterQuestionIds()) #Make up the correct results numFeatures = examplesList.getDataFieldSize("X", 1) numPersonFeatures = numFeatures/2 #Note: no alters in this case numTransmissons = 6 X2 = numpy.zeros((numTransmissons, numFeatures)) y2 = numpy.zeros((numTransmissons, 1)) X2[0, 0:numPersonFeatures] = egoArray[0, :] X2[0, numPersonFeatures:numFeatures] = egoArray[1, :] y2[0, 0] = -1 X2[1, 0:numPersonFeatures] = egoArray[0, :] X2[1, numPersonFeatures:numFeatures] = egoArray[2, :] y2[1, 0] = -1 X2[2, 0:numPersonFeatures] = egoArray[1, :] X2[2, numPersonFeatures:numFeatures] = egoArray[0, :] y2[2, 0] = -1 X2[3, 0:numPersonFeatures] = egoArray[1, :] X2[3, numPersonFeatures:numFeatures] = egoArray[2, :] y2[3, 0] = -1 X2[4, 0:numPersonFeatures] = egoArray[2, :] X2[4, numPersonFeatures:numFeatures] = egoArray[0, :] y2[4, 0] = -1 X2[5, 0:numPersonFeatures] = egoArray[2, :] X2[5, numPersonFeatures:numFeatures] = egoArray[1, :] y2[5, 0] = -1 self.assertTrue((X2 == examplesList.getDataField("X")).all()) self.assertTrue((y2 == examplesList.getDataField("y")).all()) #Second test #================ #I modified EgoData3 so that person 2 is the same age as person 1, and # hence a homophile of 1. She (2) is excluded from the non-receivers, since #she is a homophile of person 1. p = 0 eCsvReader = EgoCsvReader() eCsvReader.setP(p) examplesList, egoIndicesR, alterIndices, egoIndicesNR, alterIndicesNR = eCsvReader.readFiles(egoFileName, alterFileName) numTransmissons = 5 X2 = numpy.zeros((numTransmissons, numFeatures)) y2 = numpy.zeros((numTransmissons, 1)) X2[0, 0:numPersonFeatures] = egoArray[0, :] X2[0, numPersonFeatures:numFeatures] = egoArray[2, :] y2[0, 0] = -1 X2[1, 0:numPersonFeatures] = egoArray[1, :] X2[1, numPersonFeatures:numFeatures] = egoArray[0, :] y2[1, 0] = -1 X2[2, 0:numPersonFeatures] = egoArray[1, :] X2[2, numPersonFeatures:numFeatures] = egoArray[2, :] y2[2, 0] = -1 X2[3, 0:numPersonFeatures] = egoArray[2, :] X2[3, numPersonFeatures:numFeatures] = egoArray[0, :] y2[3, 0] = -1 X2[4, 0:numPersonFeatures] = egoArray[2, :] X2[4, numPersonFeatures:numFeatures] = egoArray[1, :] y2[4, 0] = -1 self.assertTrue((X2 == examplesList.getDataField("X")).all()) self.assertTrue((y2 == examplesList.getDataField("y")).all())