Exemplo n.º 1
0
        public void Factory_creates_valid_horizontal_destroyer()
        {
            var randomNumberGenerator = new DeterministicModuloRandomNumberGenerator();

            var factory = new DestroyerFactory(randomNumberGenerator);

            var ship = factory.CreateAt(new Position(3, 3));

            var expectedPositions = new[]
            {
                new Position(3, 3),
                new Position(4, 3),
                new Position(5, 3),
                new Position(6, 3),
            };

            Assert.That(ship.Positions, Has.Exactly(4).Items);
            Assert.That(ship.Positions, Is.EquivalentTo(expectedPositions));
        }
Exemplo n.º 2
0
        public void Factory_creates_valid_vertical_battleship()
        {
            var randomNumberGenerator = new DeterministicModuloRandomNumberGenerator();

            randomNumberGenerator.Next(0, 1);

            var factory = new BattleshipFactory(randomNumberGenerator);

            var ship = factory.CreateAt(new Position(3, 3));

            var expectedPositions = new[]
            {
                new Position(3, 3),
                new Position(3, 4),
                new Position(3, 5),
                new Position(3, 6),
                new Position(3, 7),
            };

            Assert.That(ship.Positions, Has.Exactly(5).Items);
            Assert.That(ship.Positions, Is.EquivalentTo(expectedPositions));
        }