예제 #1
0
        public void DeberiaRevertirDireccionHorizontalAlIntentarAvanzarPasandoUltimaPosicion()
        {
            var mockNave = new MockNave(3, new Posicion('h', 4), Direccion.Este);

            mockNave.AvanzarPosicion();

            Assert.AreEqual(Direccion.Oeste, mockNave.Direccion);
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('g', 4))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('h', 4))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('i', 4))));
        }
예제 #2
0
        public void DeberiaAvanzarUnaPosicionEnDiagonalHaciaElFrente()
        {
            var mockNave = new MockNave(3, new Posicion('d', 1), Direccion.SurEste);

            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('d', 1))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('e', 2))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('f', 3))));

            mockNave.AvanzarPosicion();

            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('e', 2))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('f', 3))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('g', 4))));
        }
예제 #3
0
        public void DeberiaRevertirDireccionDiagonalAlIntentarAvanzarPasandoUltimaPosicion()
        {
            var mockNave = new MockNave(3, new Posicion('c', 3), Direccion.NorEste);

            Assert.AreEqual(Direccion.NorEste, mockNave.Direccion);
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('e', 1))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('d', 2))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('c', 3))));

            mockNave.AvanzarPosicion();

            Assert.AreEqual(Direccion.SurOeste, mockNave.Direccion);
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('b', 4))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('c', 3))));
            Assert.IsTrue(mockNave.PosicionesOcupadas.Any(po => po.Equals(new Posicion('d', 2))));
        }