Esempio n. 1
0
    def testLoadData(self):
        msp = MileSplitParser()
        msp.loadData('../resources/January_Test.tsv')
        laps = msp.getData(MileSplitParser.LAPS)
        self.assertNotEquals(None, laps)
        self.assertNotEquals(0, len(laps))

        for lap in laps.values():
            self.assertNotEqual(0, lap.id)
            self.assertNotEqual(0, lap.activityId)
            self.assertNotEqual(None, lap.lap)
            self.assertNotEqual(0, lap.totalTime)
            self.assertNotEqual(0, lap.totalDistance)
            self.assertNotEqual(0, lap.avgHR)

        lapsToTracks = msp.getData(MileSplitParser.TRACKSTOLAPS)
        self.assertNotEquals(None, lapsToTracks)
        self.assertNotEquals(0, len(lapsToTracks))

        trackPoints = msp.getData(MileSplitParser.TRACKPOINTS)
        self.assertNotEquals(None, trackPoints)
        self.assertNotEquals(0, len(trackPoints))

        for trackPoint in trackPoints:
            self.assertNotEquals(0, trackPoint.id)
            self.assertNotEquals(0, trackPoint.trackId)
            self.assertNotEquals(None, trackPoint.time)
            self.assertNotEquals(0, trackPoint.lat)
            self.assertNotEquals(0, trackPoint.long)

            self.assertNotEquals(0, trackPoint.altitude)
            self.assertNotEquals(0, trackPoint.heartRate)
 def testLoadData(self):
     msp = MileSplitParser()
     msp.loadData('../resources/January_Test.tsv')
     laps = msp.getData(MileSplitParser.LAPS);
     self.assertNotEquals(None,laps)
     self.assertNotEquals(0,len(laps))
     
     for lap in laps.values():
         self.assertNotEqual(0,lap.id)
         self.assertNotEqual(0,lap.activityId)
         self.assertNotEqual(None,lap.lap)
         self.assertNotEqual(0,lap.totalTime)
         self.assertNotEqual(0,lap.totalDistance)
         self.assertNotEqual(0,lap.avgHR)
         
     lapsToTracks = msp.getData(MileSplitParser.TRACKSTOLAPS)
     self.assertNotEquals(None,lapsToTracks)
     self.assertNotEquals(0,len(lapsToTracks))
     
     trackPoints = msp.getData(MileSplitParser.TRACKPOINTS)
     self.assertNotEquals(None,trackPoints)
     self.assertNotEquals(0,len(trackPoints))
     
     for trackPoint in trackPoints:
         self.assertNotEquals(0,trackPoint.id)
         self.assertNotEquals(0,trackPoint.trackId)
         self.assertNotEquals(None,trackPoint.time)
         self.assertNotEquals(0,trackPoint.lat)
         self.assertNotEquals(0,trackPoint.long)
         
         self.assertNotEquals(0,trackPoint.altitude)
         self.assertNotEquals(0,trackPoint.heartRate)
Esempio n. 3
0
 def testInitializeCentroids(self):
     parser = MileSplitParser()
     parser.loadData('../resources/test.csv')
     gdf = GarminDataFilter(parser)
     self.assertNotEqual(None,gdf)
     
     centroids = gdf.initializeCentroids(4)
     
     self.assertEqual(4,len(centroids))
Esempio n. 4
0
    def testGenerateRandomCentroids(self):
        parser = MileSplitParser()
        parser.loadData('../resources/test.csv')
        gdf = GarminDataFilter(parser)
        self.assertNotEqual(None,gdf)
        
        cent1 = gdf.generateRandomCentroid("foobar")
        
        cent2 = gdf.generateRandomCentroid("foobar1")

        self.assertFalse(gdf.inErrorRange(cent1, cent2))
Esempio n. 5
0
 def testInitializeGarminDataFilter(self):
     
     parser = MileSplitParser()
     parser.loadData('../resources/test.csv')
     gdf = GarminDataFilter(parser)
     self.assertNotEqual(None,gdf)
     assembledData = gdf.getAssembledData()
     self.assertNotEqual(None,assembledData)
     self.assertEqual(11,len(assembledData))
     
     for data in assembledData:
         self.assertNotEqual(clusterdata.UNSET,data.netGained)
         self.assertNotEqual(clusterdata.UNSET,data.netLost)
Esempio n. 6
0
 def testGetNormalizedMeasure(self):
     parser = MileSplitParser()
     parser.loadData('../resources/test.csv')
     gdf = GarminDataFilter(parser)
     self.assertNotEqual(None,gdf)
     
     lo = gdf.loRanges[3]
     hi = gdf.hiRanges[3]
     
     range  = hi - lo
     val = lo + range/2
     
     
     retVal = gdf.getNormalizedMeasure(100, val, 3)
     
     self.assertEquals(50.0,retVal)
Esempio n. 7
0
 def testInErrorRange(self):
     parser = MileSplitParser()
     parser.loadData('../resources/test.csv')
     gdf = GarminDataFilter(parser)
     self.assertNotEqual(None,gdf)
     
     lap1 = GarminLap.asLap(1,600,100,120,12,30)
     
     lap2 = GarminLap.asLap(2,400,300,150,123,300)
     
     
     self.assertFalse(gdf.inErrorRange(lap1, lap2))
     
     
     lap1 = GarminLap.asLap(1,600,100,120,12,30)
     
     lap2 = GarminLap.asLap(2,600,100,120,12,30)
     
     
     self.assertTrue(gdf.inErrorRange(lap1, lap2))
 if(len(sys.argv) < 2):
     print "clusterDriver.py [input file] {comma separated filter list}"
     sys.exit(1)
 
 allFilters = []    
 if(len(sys.argv) == 3):
     filterBy=sys.argv[2];
     allFilters = filterBy.split(',')
 else:
     allFilters = []
 
 allData = msp.getData(sys.argv[1])
 
 
 km = kmeans.KmeansClusterer(4)
 
 parser = MileSplitParser()
 parser.loadData('../resources/test.csv')
 gdf = GarminDataFilter(parser) 
 
 clustersByCentroid = km.cluster(gdf)
 
 for k, v in clustersByCentroid.items():
     print "------------------"
     print "cluster data avg values"
     k.prettyPrint() 
     print "%d cluster members"%len(v)
     
     if(len(v) == 1):
         v[0].prettyPrint