Ejemplo n.º 1
0
        public void AddShipsTest()
        {
            var rn = new RandomFieldAlgorithm(new Field());

            rn.ListShips.Clear();
            var ship = new Ship(new Location(0, 0), Orientation.Horizontal, 1, new Field());

            rn.AddShips(ship);

            Assert.AreEqual(1, rn.ListShips.Count);
        }
Ejemplo n.º 2
0
        public void RecalculationCompletingCellTest()
        {
            var rn = new RandomFieldAlgorithm(new Field());

            rn.ListShips.Clear();
            var ship  = new Ship(new Location(0, 0), Orientation.Horizontal, 1, new Field());
            var ship1 = new Ship(new Location(0, 0), Orientation.Horizontal, 1, new Field());
            var ship2 = new Ship(new Location(0, 0), Orientation.Horizontal, 1, new Field());

            rn.AddShips(ship);
            rn.AddShips(ship1);
            rn.AddShips(ship2);
            rn.RecalculationCompletingCell(ship);

            Assert.AreEqual(2, rn.ListShips.Count);
        }
Ejemplo n.º 3
0
        public void CompletingCellTest()
        {
            var rn        = new RandomFieldAlgorithm(new Field());
            var fieldInfo = typeof(RandomFieldAlgorithm).GetField("CompletingCell",
                                                                  BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static);

            if (fieldInfo != null)
            {
                var arr = (bool[, ])fieldInfo.GetValue(rn);
                arr[0, 0] = true;
            }

            var check = rn.IsFreeLocation(
                new Ship(new Location(0, 0), Orientation.Horizontal, 1, new Field()),
                new Location(0, 0));

            Assert.AreEqual(false, check);
        }
Ejemplo n.º 4
0
        public void CountingValidCellTest()
        {
            var rn         = new RandomFieldAlgorithm(new Field());
            var methodInfo =
                typeof(RandomFieldAlgorithm).GetMethod("CountingValidCell",
                                                       BindingFlags.NonPublic | BindingFlags.Instance);

            if (methodInfo != null)
            {
                methodInfo.Invoke(rn, new object[]
                {
                    new Ship(new Location(0, 0), Orientation.Horizontal, 1, new Field())
                });
            }
            var fieldInfo = typeof(RandomFieldAlgorithm).GetField("_validCell",
                                                                  BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static);

            if (fieldInfo != null)
            {
                Assert.AreEqual(100, (int)fieldInfo.GetValue(rn));
            }
        }