def test_shuffle_double_blink_when_diff_one_player(self):
        spy2(time.sleep)
        when2(time.sleep, any_(float)).thenReturn(None)
        spy2(Plugin.shuffle)
        when2(Plugin.shuffle).thenReturn(None)

        connected_players(fake_player(1, "Red Player1", team="red"),
                          fake_player(2, "Red Player2", team="red"),
                          fake_player(3, "Red Player3", team="red"),
                          fake_player(4, "Red Player4", team="red"),
                          fake_player(5, "Blue Player1", team="blue"),
                          fake_player(6, "Blue Player2", team="blue"),
                          fake_player(7, "Blue Player3", team="blue"),
                          fake_player(8, "Blue Player4", team="blue"),
                          fake_player(9, "Blue Player5", team="blue"))

        autoready.shuffle_double_blink(10)

        verify(time, times=2).sleep(0.2)
        verify(time).sleep(0.3)
        verify(Plugin, times=0).shuffle()
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^1 ^7:^1  ", times=2)
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^10^7:^110", times=2)
    def test_allready(self):
        spy2(Plugin.allready)
        when2(Plugin.allready).thenReturn(None)

        autoready.allready(0)

        verify(Plugin).allready()
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^20^7:^200")
    def test_blink(self):
        spy2(time.sleep)
        when2(time.sleep, any_(float)).thenReturn(None)

        autoready.blink(8)

        verify(time).sleep(0.4)
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^1 ^7:^1  ")
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^10^7:^108")
    def test_warning_blink(self):
        spy2(time.sleep)
        when2(time.sleep, any_(float)).thenReturn(None)

        autoready.warning_blink(30, "thirty_second_warning")

        verify(time).sleep(0.4)
        assert_plugin_played_sound("thirty_second_warning")
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^1 ^7:^1  ")
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^10^7:^130")
    def test_wear_off_double_blink(self):
        spy2(time.sleep)
        when2(time.sleep, any_(float)).thenReturn(None)

        autoready.wear_off_double_blink(8)

        verify(time, times=2).sleep(0.2)
        verify(time).sleep(0.3)
        assert_plugin_played_sound("sound/items/wearoff.ogg")
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^1 ^7:^1  ", times=2)
        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^10^7:^108", times=2)
    def test_display_countdown_below_30(self):
        autoready.display_countdown(25)

        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^10^7:^125")
    def test_display_countdown_above_30(self):
        autoready.display_countdown(121)

        assert_plugin_center_printed(
            "Match will ^2auto-start^7 in\n^32^7:^301")