예제 #1
0
        public void LaTorrePuoMuoversiDiQuanteColonneVuole()
        {
            //Given
            Torre torre = new Torre(Colore.Bianco);
            //When
            bool esito = torre.PuòMuovere(Colonna.A, Traversa.Prima, Colonna.H, Traversa.Prima);

            //Then
            Assert.True(esito);
        }
예제 #2
0
        public void LaTorrePuoNonPuoMuoversiSpostandosiSiaDiColonnaCheDiTraversa()
        {
            //Given
            Torre torre = new Torre(Colore.Bianco);
            //When
            bool esito = torre.PuòMuovere(Colonna.A, Traversa.Prima, Colonna.C, Traversa.Settima);

            //Then
            Assert.False(esito);
        }
예제 #3
0
        public void LaTorreNonPuòRimanereFermaUnaVoltaScelta()
        {
            //Given
            Torre torre = new Torre(Colore.Bianco);
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.F,
                traversaPartenza: Traversa.Quinta,
                colonnaArrivo: Colonna.F,
                traversaArrivo: Traversa.Quinta);

            //Then
            Assert.False(esito);
        }
예제 #4
0
        public void LaTorreMuoveASinistraDiCinqueCase()
        {
            //Given
            Torre torre = new Torre(Colore.Bianco);
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.F,
                traversaPartenza: Traversa.Quinta,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Quinta);

            //Then
            Assert.True(esito);
        }
예제 #5
0
        public void LaTorreMuoveIndietroDiTreCase()
        {
            //Given
            Torre torre = new Torre(Colore.Bianco);
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.F,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.F,
                traversaArrivo: Traversa.Prima);

            //Then
            Assert.True(esito);
        }
예제 #6
0
        public void LaTorreMuoveAvantiDiQuattroCase()
        {
            //Given
            Torre torre = new Torre(Colore.Bianco);
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.F,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.F,
                traversaArrivo: Traversa.Ottava);

            //Then
            Assert.True(esito);
        }
예제 #7
0
        public void LaTorreNonPuòRestareFerma(Colore c)
        {
            //Given
            var torre = new Torre(c);
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Prima
                );

            Assert.False(esito);
        }
예제 #8
0
        public void LaTorrePuoMoversiInOrizzontale()
        {
            //Given
            Torre torre = new Torre(Colore.Nero);
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Ottava,
                colonnaArrivo: Colonna.H,
                traversaArrivo: Traversa.Ottava);

            //Then
            Assert.True(esito);
        }
예제 #9
0
        public void LaTorreNonPuoMuovereInDiagonale(Colore colore)
        {
            //Given
            Torre      torre      = new Torre(colore);
            Scacchiera scacchiera = new Scacchiera();
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.F,
                traversaArrivo: Traversa.Quarta,
                scacchiera: scacchiera);

            //Then
            Assert.False(esito);
        }
예제 #10
0
        public void LaTorrePuoMuovereInVerticale(Colore colore)
        {
            //Given
            Torre      torre      = new Torre(colore);
            Scacchiera scacchiera = new Scacchiera();
            //When
            bool esito = torre.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Sesta,
                scacchiera: scacchiera);

            //Then
            Assert.True(esito);
        }
예제 #11
0
        public void laTorrePuòMangiarePezzoAvversarioInOrizzontaleEVerticale(
            Colonna colonnaPartenza, Traversa traversaPartenza,
            Colonna colonnaArrivo, Traversa traversaArrivo,
            Colore colore, Colore colorePezzoBloccante,
            Colonna colonnaPezzoBloccante,
            Traversa traversaPezzoBloccante)
        {
            //Given
            Torre      torre      = new Torre(colore);
            Scacchiera scacchiera = new Scacchiera();

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

            //Then
            Assert.True(esito);
        }
예제 #12
0
        public void laTorreNonSiPuòMuovereSeUnPezzoBloccaLoSpostamento(
            Colonna colonnaPartenza, Traversa traversaPartenza,
            Colonna colonnaArrivo, Traversa traversaArrivo,
            Colore colore, Colore colorePezzoBloccante,
            Colonna colonnaPezzoBloccante,
            Traversa traversaPezzoBloccante)
        {
            //Given
            Torre      torre      = new Torre(colore);
            Scacchiera scacchiera = new Scacchiera();

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

            //Then
            Assert.False(esito);
        }