def test_aggregate_statistics_and_reset_statistics(self): streak = Streak() streak.redis = self.redis streak.aggregate("david", 3) streak.aggregate("david", -2) streak.aggregate("david", 5) streak.aggregate("david", -1) statistics = streak.statistics("david") self.assertEquals(7, len(statistics)) self.assertEquals(0, statistics["wins"]) self.assertEquals(8, statistics["wins_total"]) self.assertEquals(5, statistics["wins_streak"]) self.assertEquals(1, statistics["losses"]) self.assertEquals(3, statistics["losses_total"]) self.assertEquals(2, statistics["losses_streak"]) self.assertEquals(11, statistics["total"]) statistics = streak.statistics( "david", [Streak.DEFAULTS["positive_streak_key"], Streak.DEFAULTS["negative_streak_key"]] ) self.assertEquals(2, len(statistics)) self.assertEquals(5, statistics["wins_streak"]) self.assertEquals(2, statistics["losses_streak"]) streak.reset_statistics("david") statistics = streak.statistics("david") self.assertEquals(0, statistics["wins"]) self.assertEquals(0, statistics["wins_total"]) self.assertEquals(0, statistics["wins_streak"]) self.assertEquals(0, statistics["losses"]) self.assertEquals(0, statistics["losses_total"]) self.assertEquals(0, statistics["losses_streak"]) self.assertEquals(0, statistics["total"])