Beispiel #1
0
    def test_juego_cambia_el_turno_al_dar_pista(self) -> None:
        jugadores = ["Román", "Ramón"]
        juego = Juego(jugadores, 3,
                      Repartidor(self.mezclar_mazo_minimal_mezcladito))

        juego.dar_pista("Número", 1, "Ramón")

        self.assertEqual("Ramón", juego.turno_de())
Beispiel #2
0
    def test_juego_no_se_puede_dar_pista_a_si_mismo(self) -> None:
        jugadores = ["Román", "Ramón"]
        juego = Juego(jugadores, 3,
                      Repartidor(self.mezclar_mazo_minimal_mezcladito))

        self.assertRaises(JuegoPistaASiMismoException, juego.dar_pista,
                          "Número", 1, "Román")
        self.assertEqual(7, juego.pistas_restantes())
        self.assertEqual("Román", juego.turno_de())
Beispiel #3
0
    def test_juego_pista_tiene_que_ser_de_alguien_en_partida(self) -> None:
        jugadores = ["Román", "Ramón"]
        juego = Juego(jugadores, 3,
                      Repartidor(self.mezclar_mazo_minimal_mezcladito))

        self.assertRaises(JuegoPistaSinDestinatarioException, juego.dar_pista,
                          "Color", "Blanco", "Mirtha")
        self.assertEqual(7, juego.pistas_restantes())
        self.assertEqual("Román", juego.turno_de())
Beispiel #4
0
    def test_juego_tipo_de_pista_invalida(self) -> None:
        jugadores = ["Román", "Ramón"]
        juego = Juego(jugadores, 3,
                      Repartidor(self.mezclar_mazo_minimal_mezcladito))

        self.assertRaises(JuegoTipoDePistaInvalidoException, juego.dar_pista,
                          "Sonamos", 1, "Ramón")
        self.assertEqual(7, juego.pistas_restantes())
        self.assertEqual("Román", juego.turno_de())
Beispiel #5
0
 def test_juego_inicia_en_blanco(self) -> None:
     jugadores = ["Román", "Ramón"]
     juego = Juego(jugadores, 3)
     self.assertEqual(0, juego.puntaje())
     self.assertEqual(3, juego.vidas())
     self.assertEqual(7, juego.pistas_restantes())
     self.assertEqual(jugadores, juego.jugadores())
     self.assertEqual("Román", juego.turno_de())
     self.assertFalse(juego.terminado())
Beispiel #6
0
    def test_juego_descartar_tiene_que_ser_carta_de_la_mano(self) -> None:
        jugadores = ["Román", "Ramón"]
        juego = Juego(jugadores, 5)

        mano_ramon = [carta for carta in juego.cartas_por_jugador()["Román"]]

        self.assertRaises(JuegoDescartaCartaFueraDeManoException,
                          juego.descartar, 10)
        self.assertEqual(mano_ramon, juego.cartas_por_jugador()["Román"])
        self.assertEqual("Román", juego.turno_de())
Beispiel #7
0
    def test_juego_tienen_que_haber_pistas_disponibles(self) -> None:
        jugadores = ["Román", "Ramón"]
        juego = Juego(jugadores, 3,
                      Repartidor(self.mezclar_mazo_minimal_mezcladito))

        for _ in range(3):
            juego.dar_pista("Número", 1, "Ramón")
            juego.dar_pista("Número", 1, "Román")
        juego.dar_pista("Número", 1, "Ramón")

        self.assertRaises(JuegoSinPistasDisponiblesException, juego.dar_pista,
                          "Número", 1, "Román")
        self.assertEqual(0, juego.pistas_restantes())
        self.assertEqual("Ramón", juego.turno_de())