public void DebePermitirRepartirMazo() { List <Carta> cartasMazo = new List <Carta>(); List <Atributo> atributos = new List <Atributo>(); //No debe permitir repartir cuando el mazo no tiene cartas y el jugador 2 es null Partida partidaIncompleta = Partida.CrearVerificarPartida(1, new Jugador("1", "Pepe"), new Mazo(cartasMazo)); partidaIncompleta.RepartirCartas(); Assert.AreEqual(null, partidaIncompleta.Jugador2); Assert.AreEqual(0, partidaIncompleta.Jugador1.CartasAsignadas.Count()); //No debe permitir repartir cuando el mazo no tiene cartas partidaIncompleta.AgregarJugador(new Jugador("2", "Pablo")); partidaIncompleta.RepartirCartas(); Assert.AreEqual(0, partidaIncompleta.Jugador1.CartasAsignadas.Count()); Assert.AreEqual(0, partidaIncompleta.Jugador2.CartasAsignadas.Count()); //Lleno mi lista de cartas for (int i = 0; i < 10; i++) { Carta carta = new Carta(i + 1, TipoDeCarta.Normal, atributos); cartasMazo.Add(carta); } //No debe permitir repartir cuando el jugador 2 es null Partida partida2 = Partida.CrearVerificarPartida(2, new Jugador("1", "Pedro"), new Mazo(cartasMazo)); partida2.RepartirCartas(); Assert.AreEqual(0, partidaIncompleta.Jugador1.CartasAsignadas.Count()); //Debe permitir repartir normalmente cuando hay datos partida2.AgregarJugador(new Jugador("2", "Juan")); partida2.RepartirCartas(); Assert.AreEqual(cartasMazo.Count() / 2, partida2.Jugador1.CartasAsignadas.Count()); Assert.AreEqual(cartasMazo.Count() / 2, partida2.Jugador2.CartasAsignadas.Count()); bool flag = false; foreach (var cartas1 in partida2.Jugador1.CartasAsignadas) { flag = partida2.Jugador2.CartasAsignadas.Exists(x => x.CodigoCarta == cartas1.CodigoCarta); if (flag) { break; } } Assert.AreEqual(false, flag); //No debe permitir repartir cuando el mazo es null y el jugador 2 es null Partida partida3 = Partida.CrearVerificarPartida(3, new Jugador("1", "Pepe"), null); partida3.RepartirCartas(); Assert.AreEqual(null, partida3.Jugador2); Assert.AreEqual(null, partida3.MazoPartida); Assert.AreEqual(0, partidaIncompleta.Jugador1.CartasAsignadas.Count()); }