def testIteratorFunc2(self):
        dataset = MendeleyGroupsDataset()

        trainIterator = dataset.getTrainIteratorFunc()        
        testIterator = dataset.getTestIteratorFunc()
        
        for trainX in trainIterator: 
            testX = testIterator.next() 
            
            print(trainX.shape, trainX.nnz, testX.nnz)
            self.assertEquals(trainX.shape, testX.shape)
 def testIteratorFunc3(self):
     #Check to see if repeated calls generate new matrices 
     dataset = MendeleyGroupsDataset()
     trainIterator = dataset.getTrainIteratorFunc()   
     
     X = next(trainIterator)
     X.data += 1 
     
     trainIterator = dataset.getTrainIteratorFunc()  
     X2 = next(trainIterator)
     
     nptst.assert_array_almost_equal(X.data, X2.data+1)
 def testBipartiteToUni(self):
     userInds = numpy.array([0, 1, 2, 0, 4])
     itemInds = numpy.array([0, 0, 0, 1, 1])
     dates = numpy.array([1, 2, 3, 4, 5])
     
     dataset = MendeleyGroupsDataset()
     user1Inds, user2Inds, newDates = dataset.bipartiteToUni(userInds, itemInds, dates)
     
     X = scipy.sparse.csc_matrix((newDates, (user1Inds, user2Inds)))        
     
     nptst.assert_array_equal(X[0, :].nonzero()[1], numpy.array([1, 2, 4]))
     nptst.assert_array_equal(X[1, :].nonzero()[1], numpy.array([0, 2]))
     nptst.assert_array_equal(X[2, :].nonzero()[1], numpy.array([0, 1]))
     nptst.assert_array_equal(X[3, :].nonzero()[1], numpy.array([]))
     nptst.assert_array_equal(X[4, :].nonzero()[1], numpy.array([0]))
 def testIteratorFunc(self):
     iterStartTimeStamp = time.mktime(datetime(2009,01,25).timetuple())
     dataset = MendeleyGroupsDataset(iterStartTimeStamp=iterStartTimeStamp)
     #iterator = dataset.getTrainIteratorFunc()
     trainIterator = dataset.getTrainIteratorFunc()
     testIterator = dataset.getTestIteratorFunc()
     
     trainX = trainIterator.next() 
     testX = testIterator.next()
     self.assertEquals(trainX.shape, testX.shape)
     self.assertEquals(trainX.nnz + testX.nnz, dataset.numRatings)
     
     try: 
         trainIterator.next()
         self.fail()
     except StopIteration: 
         pass