class StatsExtractorTest(unittest.TestCase):
    
    def setUp(self):
        self.__extractor = StatsExtractor()
    
    def testParseStats(self):
        stats = self.__statsMap__()
        self.assertEqual(self.__extractor.extract(stats), stats)

    def testParseStats_mapWithOtherData(self):
        stats = self.__statsMap__()
        stats["name"] = "name"
        self.assertEqual(self.__extractor.extract(stats), self.__statsMap__())

    def __statsMap__(self, matches_played=0, handballs=0, kicks=0, tackles=0,
                    hitOuts=0, behinds=0, goals=0, freesFor=0, freesAgainst=0):
        return {
                "matches_played": matches_played,
                "handballs": handballs,
                "kicks": kicks,
                "tackles": tackles,
                "hit_outs": hitOuts,
                "behinds": behinds,
                "goals": goals,
                "frees_for": freesFor,
                "frees_against": freesAgainst
                }
 def __getProfiles__(self, data):
     profileExtractor = PlayerExtractor() 
     statsExtractor = StatsExtractor()
     
     results = []
     for r in data:
         profile = profileExtractor.extract(r)
         profile["statistics"] = statsExtractor.extract(r)
         profile["positions"] = self.getPositions(r["id"])
         results.append(profile)
     return results
         
 def setUp(self):
     self.__extractor = StatsExtractor()