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"))
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")
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())
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())
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"))
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")
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")
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())
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())
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")
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())
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")
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)
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"))