示例#1
0
        public void IlPedoneNonPuoMuovereDiDueCaseInAvantiSeCaseNelPercorsoSonoOccupate()
        {
            //Given
            var pedone = new Pedone(Colore.Bianco);
            IEnumerable <ICasa> listaCase = new List <Casa> {
                new Casa(Colonna.A, Traversa.Seconda)
                {
                    PezzoPresente = pedone
                },
                new Casa(Colonna.A, Traversa.Terza)
                {
                    PezzoPresente = new Pedone(Colore.Bianco)
                },
                new Casa(Colonna.A, Traversa.Quarta)
            };
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Seconda,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Quarta,
                listaCase: listaCase
                );

            //Then
            Assert.False(esito);
        }
示例#2
0
        public void IlPedoneNonPuoMuovereSeHaQualcunoDavanti()
        {
            //Given
            var pedone = new Pedone(Colore.Bianco);
            IEnumerable <ICasa> listaCase = new List <Casa> {
                new Casa(Colonna.A, Traversa.Prima)
                {
                    PezzoPresente = pedone
                },
                new Casa(Colonna.A, Traversa.Seconda)
                {
                    PezzoPresente = new Pedone(Colore.Bianco)
                }
            };
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Seconda,
                listaCase: listaCase
                );

            //Then
            Assert.False(esito);
        }
示例#3
0
        public void IlPedoneBiancoPuoMuovereDiagonalmenteSeCatturaUnPezzo()
        {
            //Given
            var pedone = new Pedone(Colore.Bianco);
            IEnumerable <ICasa> listaCase = new List <Casa> {
                new Casa(Colonna.A, Traversa.Prima)
                {
                    PezzoPresente = pedone
                },
                new Casa(Colonna.B, Traversa.Seconda)
                {
                    PezzoPresente = new Pedone(Colore.Nero)
                }
            };

            //When

            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.B,
                traversaArrivo: Traversa.Seconda,
                listaCase: listaCase
                );

            //Then
            Assert.True(esito);
        }
        public void IlPedoneBiancoPuoMuovereInDiagonalePerMangiare()
        {
            //Given
            var pedone     = new Pedone(Colore.Bianco);
            var pedoneNero = new Pedone(Colore.Nero);
            //When
            bool esito = pedone.PuòMuovere(Colonna.C, Traversa.Terza, Colonna.D, Traversa.Quarta);

            //Then
            Assert.True(esito);
        }
示例#5
0
        public void IlPedoneNonPuòRestareFermo()
        {
            //Given
            Pedone pedone = new Pedone(Colore.Bianco);
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Prima
                );

            Assert.False(esito);
        }
示例#6
0
        public void IlPedoneBiancoPuoMuovereAvantiDiUnaCasa()
        {
            //Given
            Pedone pedone = new Pedone(Colore.Bianco);
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Seconda,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Terza);

            //Then
            Assert.True(esito);
        }
示例#7
0
        public void IlPedoneNeroPuoMuovereAvantiDiDueCaseInizio()
        {
            //Given
            Pedone pedone = new Pedone(Colore.Nero);
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Settima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Quinta);

            //Then
            Assert.True(esito);
        }
        public void IlPedoneNeroNonPuoMuovereIndietro()
        {
            //Given
            Pedone pedone = new Pedone(Colore.Nero);
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Quinta);

            //Then
            Assert.False(esito);
        }
示例#9
0
        public void IlPedoneBiancoPuoMuovereDiagonalmenteSeCatturaUnPezzo()
        {
            //Given
            var pedone     = new Pedone(Colore.Bianco);
            var pedoneNero = new Pedone(Colore.Nero);
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.C,
                traversaPartenza: Traversa.Terza,
                colonnaArrivo: Colonna.D,
                traversaArrivo: Traversa.Quarta
                );

            //Then
            Assert.True(esito);
        }
示例#10
0
        public void IlPedoneBiancoPuoMuovereAvantiDiDueCaseDallaSecondaTravers()
        {
            //Given
            Pedone     pedone     = new Pedone(Colore.Bianco);
            Scacchiera scacchiera = new Scacchiera();
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Seconda,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Quarta,
                scacchiera: scacchiera);

            //Then
            Assert.True(esito);
        }
示例#11
0
        public void IlPedoneNeroNonPuoMuovereIndietroDiUnaCasa()
        {
            //Given
            Pedone     pedone     = new Pedone(Colore.Nero);
            Scacchiera scacchiera = new Scacchiera();
            //When
            bool esito = pedone.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Terza,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Quarta,
                scacchiera: scacchiera);

            //Then
            Assert.False(esito);
        }
示例#12
0
        public void ilPedoneNonSiPuòMuovereSeHaUnPezzoDavanti(
            Colonna colonnaPartenza, Traversa traversaPartenza,
            Colonna colonnaArrivo, Traversa traversaArrivo,
            Colore colore, Colonna colonnaPezzoBloccante,
            Traversa traversaPezzoBloccante)
        {
            //Given
            Pedone     pedone     = new Pedone(colore);
            Scacchiera scacchiera = new Scacchiera();

            scacchiera[colonnaPezzoBloccante, traversaPezzoBloccante].PezzoPresente =
                new Pedone(Colore.Bianco);
            //When
            bool esito = pedone.PuòMuovere(colonnaPartenza, traversaPartenza,
                                           colonnaArrivo, traversaArrivo, scacchiera);

            //Then
            Assert.False(esito);
        }
示例#13
0
        public void ilPedoneNonPuòMangiareUnPezzoDelloStessoColoreInDiagonaleDiUno(
            Colonna colonnaPartenza, Traversa traversaPartenza,
            Colonna colonnaArrivo, Traversa traversaArrivo,
            Colore colore, Colore colorePezzoBloccante,
            Colonna colonnaPezzoBloccante,
            Traversa traversaPezzoBloccante)
        {
            //Given
            Pedone     pedone     = new Pedone(colore);
            Scacchiera scacchiera = new Scacchiera();

            scacchiera[colonnaPezzoBloccante, traversaPezzoBloccante].PezzoPresente =
                new Pedone(colorePezzoBloccante);
            //When
            bool esito = pedone.PuòMuovere(colonnaPartenza, traversaPartenza,
                                           colonnaArrivo, traversaArrivo, scacchiera);

            //Then
            Assert.False(esito);
        }