Ejemplo n.º 1
0
    def test_manager_unirse_con_usuario_a_lobby(self) -> None:
        manager = Manager()
        manager.crear_lobby("Amongas Volley Club")

        manager.agregar_jugador("Román", "Amongas Volley Club")

        self.assertEqual("Amongas Volley Club", manager.sala_de("Román"))
Ejemplo n.º 2
0
    def test_manager_no_se_puede_iniciar_una_partida_ya_iniciada(self) -> None:
        manager = Manager()
        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")
        manager.iniciar_juego_en("Amongas Volley Club")

        self.assertRaises(PartidaYaIniciadaException, manager.iniciar_juego_en,
                          "Amongas Volley Club")
Ejemplo n.º 3
0
    def test_manager_pueden_haber_varios_lobbies(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club 2")

        self.assertEquals(["Amongas Volley Club", "Amongas Volley Club 2"],
                          manager.listar_lobbies())
Ejemplo n.º 4
0
    def test_manager_no_puede_unirse_con_usuario_repetido(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")

        self.assertRaises(JugadorExistenteException, manager.agregar_jugador,
                          "Román", "Amongas Volley Club 2")
        self.assertFalse("Amongas Volley Club 2" in manager.listar_lobbies())
Ejemplo n.º 5
0
    def test_manager_unirse_a_lobby_inexistente_lo_tiene_que_crear(
            self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")

        self.assertTrue("Amongas Volley Club" in manager.listar_lobbies())
        self.assertEqual("Amongas Volley Club", manager.sala_de("Román"))
Ejemplo n.º 6
0
    def test_manager_no_se_puede_sacar_al_jugador_si_no_existe(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")

        self.assertRaises(JugadorInExistenteException, manager.sacar_jugador,
                          "Ron", "Amongas Volley Club")
Ejemplo n.º 7
0
    def test_manager_no_puede_cortar_partidas_no_iniciadas(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")

        self.assertRaises(PartidaNoIniciadaException, manager.cortar_juego_en,
                          "Amongas Volley Club")
Ejemplo n.º 8
0
    def test_manager_iniciar_partida_la_deja_de_mostrar_al_listar(
            self) -> None:
        manager = Manager()
        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")
        manager.iniciar_juego_en("Amongas Volley Club")

        self.assertFalse("Amongas Volley Club" in manager.listar_lobbies())
Ejemplo n.º 9
0
    def test_manager_se_borra_el_lobby_si_la_sala_queda_vacia(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")
        manager.sacar_jugador("Román", "Amongas Volley Club")
        manager.sacar_jugador("Ramón", "Amongas Volley Club")

        self.assertEqual([], manager.listar_lobbies())
Ejemplo n.º 10
0
    def test_manager_sacar_al_jugador_lo_remueve_completamente(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")
        manager.sacar_jugador("Román", "Amongas Volley Club")

        self.assertRaises(JugadorInExistenteException, manager.sala_de,
                          "Román")
Ejemplo n.º 11
0
    def test_manager_se_saca_la_partida_al_cortar(self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")
        manager.iniciar_juego_en("Amongas Volley Club")
        manager.cortar_juego_en("Amongas Volley Club")

        self.assertTrue("Amongas Volley Club" in manager.listar_lobbies())
Ejemplo n.º 12
0
    def test_manager_no_se_puede_pedir_estado_en_partida_no_iniciada(
            self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")

        self.assertRaises(PartidaNoIniciadaException, manager.estado_en,
                          "Amongas Volley Club")
Ejemplo n.º 13
0
    def test_manager_no_se_puede_tomar_accion_en_partida_no_iniciada(
            self) -> None:
        manager = Manager()

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")

        accion = {'jugador': "Román", 'accion': 'DESCARTAR', 'carta': 0}

        self.assertRaises(PartidaNoIniciadaException, manager.tomar_accion_en,
                          "Amongas Volley Club", accion)
Ejemplo n.º 14
0
    def test_manager_tomar_accion_en_partida(self) -> None:
        self.maxDiff = None
        manager = Manager(mezclar_rojo_verde)

        manager.agregar_jugador("Román", "Amongas Volley Club")
        manager.agregar_jugador("Ramón", "Amongas Volley Club")
        manager.iniciar_juego_en("Amongas Volley Club")

        accion = {'jugador': "Román", 'accion': 'DESCARTAR', 'carta': 0}
        manager.tomar_accion_en("Amongas Volley Club", accion)

        self.assertEqual(
            {
                'global': {
                    'terminado': False,
                    'jugadores': ["Román", "Ramón"],
                    'turno_de': "Ramón",
                    'vidas': 3,
                    'pistas_restantes': 7,
                    'cartas_restantes': 9,
                    'tablero': {
                        'Rojo': 0,
                        'Azul': 0,
                        'Amarillo': 0,
                        'Verde': 0,
                        'Blanco': 0
                    },
                    'puntaje': 0,
                    'descarte': {
                        'Rojo': [],
                        'Azul': [],
                        'Amarillo': [],
                        'Verde': [],
                        'Blanco': []
                    }
                },
                'estado_jugadores': {
                    'Román': {
                        'cartas': [(i, "Verde")
                                   for i in range(2, 6)] + [(5, "Azul")],
                        'pistas': [[], [], [], [], []]
                    },
                    'Ramón': {
                        'cartas': [(i, "Rojo") for i in range(1, 6)],
                        'pistas': [[], [], [], [], []]
                    }
                }
            }, manager.estado_en("Amongas Volley Club"))