def test_can_retrieve_statistics_without_data(self):
        streak = Streak()
        statistics = streak.statistics("david")

        self.assertEquals(7, len(statistics))
        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"])
Example #2
0
def game_level_menu():
    game_level = GameLevel(Chance, Score)
    streak = Streak()
    level_status = 0
    max_level_status = game_level.game_level_count - 1
    run_game_level = True
    while run_game_level:
        clock.tick(FPS)
        win.blit(BACKGROUND, (0, 0))

        header_shadow = LETTER_FONT_2.render('< CHOOSE DIFFICULTY >', 1, WHITE_2)
        header_text = LETTER_FONT_2.render('< CHOOSE DIFFICULTY >', 1, WHITE)
        win.blit(header_shadow, (int(WIDTH / 2) - int(header_shadow.get_width() / 2),
                                 int(FONT_SIZE_2)))
        win.blit(header_text, (int(WIDTH / 2) - int(header_text.get_width() / 2) + 2,
                               int(FONT_SIZE_2) + 2))

        for i in range(max_level_status + 1):
            lvl_text = LETTER_FONT_2.render(game_level.game_level_list[i].get_name(), 1, WHITE_2)
            win.blit(lvl_text, (int(WIDTH / 2) - int(lvl_text.get_width() / 2),
                                int(FONT_SIZE_2) * (i + 3)))

        lvl2_text = LETTER_FONT_2.render('[ ' + game_level.game_level_list[level_status].get_name() + ' ]', 1, WHITE)
        win.blit(lvl2_text, (int(WIDTH / 2) - int(lvl2_text.get_width() / 2) + 2,
                             int(FONT_SIZE_2) * (level_status + 3) + 2))

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                quit()

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    main_menu()
                    run_game_level = False

                if event.key == pygame.K_DOWN:
                    if level_status < max_level_status:
                        level_status += 1
                    print(level_status)

                if event.key == pygame.K_UP:
                    if level_status > 0:
                        level_status -= 1
                    print(level_status)

                if event.key == pygame.K_RETURN:
                    chance = game_level.get_level_chances(level_status)
                    multiplier = game_level.get_level_multiplier(level_status)
                    game(chance, streak, multiplier)
                    run_game_level = False

        pygame.display.update()
    def test_default_options_in_initializer(self):
        streak = Streak(
            {
                "positive_key": "kills",
                "positive_total_key": "kills_total",
                "positive_streak_key": "kills_streak",
                "negative_key": "deaths",
                "negative_total_key": "deaths_total",
                "negative_streak_key": "deaths_streak",
            }
        )

        streak.redis = self.redis

        options = streak.options
        self.assertEquals("streak", options["namespace"])
        self.assertEquals("kills", options["positive_key"])
        self.assertEquals("kills_total", options["positive_total_key"])
        self.assertEquals("kills_streak", options["positive_streak_key"])
        self.assertEquals("deaths", options["negative_key"])
        self.assertEquals("deaths_total", options["negative_total_key"])
        self.assertEquals("deaths_streak", options["negative_streak_key"])
        self.assertEquals("total", options["total_key"])
Example #4
0
 def __init__(self,
              name,
              description="",
              periodicity_id=1,
              periodicity_unit="daily",
              is_active=1,
              is_favorite=0,
              is_sample=0,
              habit_id=0,
              src_habit_id=0):
     """ Initialize a new instance of the Habit class. """
     self.name = name
     self.description = description
     self.periodicity_id = periodicity_id
     self.periodicity_unit = periodicity_unit
     self.is_active = is_active
     self.is_favorite = is_favorite
     self.is_sample = is_sample
     self.habit_id = habit_id
     self.src_habit_id = src_habit_id
     self.streak = Streak(self)
    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"])