Exemple #1
0
class TestMatch(unittest.TestCase):
    def setUp(self):

        self.dt = datetime.now() - timedelta(hours=-1)
        self.test_kick_off = datetime(
            self.dt.year, self.dt.month, self.dt.day, self.dt.hour, self.dt.minute, self.dt.second
        )
        self.test_kick_off_string = datetime.strftime(self.test_kick_off, "%Y-%m-%d %H:%M:%S")
        row = (
            2,
            self.test_kick_off_string,
            u"Tottenham Hotspur",
            u"Manchester United",
            u"White Hart Lane, London",
            u"premier-league",
            0,
        )
        self.m = Match(row)

    def test_stats_url(self):
        stats_url_template = "http://www.guardian.co.uk/football/match/{0}/{1}/{2}/{3}-v-{4}"

        self.assertEquals(
            self.m.stats_url,
            stats_url_template.format(
                self.m.kick_off.year,
                datetime.strftime(self.m.kick_off, "%b").lower(),
                str(self.m.kick_off.day).zfill(2),
                self.m.home_url,
                self.m.away_url,
            ),
        )

    def test_events_url(self):
        events_url_template = "http://www.guardian.co.uk/football/match-popup/{0}/{1}/{2}/{3}-v-{4}"

        self.assertEquals(
            self.m.events_url,
            events_url_template.format(
                self.m.kick_off.year,
                datetime.strftime(self.m.kick_off, "%b").lower(),
                str(self.m.kick_off.day).zfill(2),
                self.m.home_url,
                self.m.away_url,
            ),
        )

    def test_home_team(self):
        self.assertIsInstance(self.m.home_team, unicode)
        self.assertEquals(self.m.home_team, u"Tottenham Hotspur")

    def test_away_team(self):
        self.assertIsInstance(self.m.away_team, unicode)
        self.assertEquals(self.m.away_team, u"Manchester United")

    def test_venue(self):
        self.assertIsInstance(self.m.venue, unicode)
        self.assertEquals(self.m.venue, u"White Hart Lane, London")

    def test_datetime(self):
        self.assertIsInstance(self.m.kick_off, datetime)
        self.assertEquals(self.m.kick_off, self.test_kick_off)

    def test_played(self):
        self.assertFalse(self.m.played)

    def test_time_until_kick_off(self):
        self.assertAlmostEquals(self.m.time_until_kick_off(), 60, 0)

    def test_time_after_kick_off(self):

        dt = datetime.now() - timedelta(hours=1)
        test_kick_off = datetime(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
        test_kick_off_string = datetime.strftime(test_kick_off, "%Y-%m-%d %H:%M:%S")
        row = (
            2,
            test_kick_off_string,
            u"Tottenham Hotspur",
            u"Manchester United",
            u"White Hart Lane, London",
            u"premier-league",
            0,
        )
        m = Match(row)

        self.assertAlmostEquals(m.time_after_kick_off(), 60, 0)