Exemplo n.º 1
0
 private static void CopyToGrid(IBimaruGrid grid, IEnumerable <Tuple <GridPoint, BimaruValue> > initialFieldValues)
 {
     foreach (var c in initialFieldValues)
     {
         grid[c.Item1] = c.Item2;
     }
 }
Exemplo n.º 2
0
 public static void AssertEqual(this IBimaruGrid actualGrid, BimaruValue[,] expectedFieldValues)
 {
     foreach (var p in actualGrid.AllPoints())
     {
         Assert.AreEqual(expectedFieldValues[p.RowIndex, p.ColumnIndex], actualGrid[p]);
     }
 }
Exemplo n.º 3
0
 private void FireInitialChangedEvents(IBimaruGrid grid, EventHandler <FieldValueChangedEventArgs <BimaruValue> > eventHandler)
 {
     foreach (GridPoint p in grid.AllPoints().Where(p => grid[p] != BimaruValue.UNDETERMINED))
     {
         eventHandler(this, new FieldValueChangedEventArgs <BimaruValue>(p, BimaruValue.UNDETERMINED));
     }
 }
Exemplo n.º 4
0
        public Game(IGridTally targetNumberOfShipFieldsPerRow,
                    IGridTally targetNumberOfShipFieldsPerColumn,
                    IShipTarget targetNumberOfShipsPerLength,
                    IBimaruGrid grid)
        {
            TargetNumberOfShipFieldsPerRow    = targetNumberOfShipFieldsPerRow;
            TargetNumberOfShipFieldsPerColumn = targetNumberOfShipFieldsPerColumn;
            TargetNumberOfShipsPerLength      = targetNumberOfShipsPerLength;
            Grid = grid;

            if (targetNumberOfShipFieldsPerRow.Length != grid.NumberOfRows ||
                targetNumberOfShipFieldsPerColumn.Length != grid.NumberOfColumns)
            {
                throw new ArgumentOutOfRangeException("The number of rows/columns does not agree between tallies and grid.");
            }
        }
Exemplo n.º 5
0
        public static void AssertEqual(this IBimaruGrid expectedGrid, IBimaruGrid actualGrid)
        {
            Assert.AreEqual(expectedGrid.NumberOfRows, actualGrid.NumberOfRows);
            Assert.AreEqual(expectedGrid.NumberOfColumns, actualGrid.NumberOfColumns);

            foreach (var p in expectedGrid.AllPoints())
            {
                Assert.AreEqual(expectedGrid[p], actualGrid[p]);
            }

            Assert.IsTrue(expectedGrid.NumberOfUndeterminedFieldsPerColumn.SequenceEqual(actualGrid.NumberOfUndeterminedFieldsPerColumn));
            Assert.IsTrue(expectedGrid.NumberOfUndeterminedFieldsPerRow.SequenceEqual(actualGrid.NumberOfUndeterminedFieldsPerRow));
            Assert.IsTrue(expectedGrid.NumberOfShipFieldsPerColumn.SequenceEqual(actualGrid.NumberOfShipFieldsPerColumn));
            Assert.IsTrue(expectedGrid.NumberOfShipFieldsPerRow.SequenceEqual(actualGrid.NumberOfShipFieldsPerRow));

            Assert.IsTrue(expectedGrid.NumberOfShipsPerLength.SequenceEqual(actualGrid.NumberOfShipsPerLength));

            Assert.AreEqual(expectedGrid.IsValid, actualGrid.IsValid);
            Assert.AreEqual(expectedGrid.IsFullyDetermined, actualGrid.IsFullyDetermined);
        }