public void A3x3GridShouldHave1SubGrid()
        {
            var grid          = Grid.OfSize(3);
            var setCollection = CellSetCollection.For(grid);

            Assert.That(setCollection.CellSets.Any(cs => "subgrid [0,0]".Equals(cs.Name)), Is.True);
        }
        public void AnEmptyGridShouldHaveAStateOfPartial()
        {
            var grid          = Grid.OfSize(3);
            var setCollection = CellSetCollection.For(grid);

            Assert.That(setCollection.AggregatedState, Is.EqualTo(CellSet.StateValue.Partial));
        }
        public void SomeEmptyCellsShouldHaveAStateOfInvalid()
        {
            var grid = Grid.OfSize(3);

            grid.Cell(0, 0, 1);
            var setCollection = CellSetCollection.For(grid);

            Assert.That(setCollection.AggregatedState, Is.EqualTo(CellSet.StateValue.Partial));
        }
        public void A3x3GridShouldHave3Columns()
        {
            var grid          = Grid.OfSize(3);
            var setCollection = CellSetCollection.For(grid);

            Assert.That(setCollection.CellSets.Any(cs => "column 0".Equals(cs.Name)), Is.True);
            Assert.That(setCollection.CellSets.Any(cs => "column 1".Equals(cs.Name)), Is.True);
            Assert.That(setCollection.CellSets.Any(cs => "column 2".Equals(cs.Name)), Is.True);
        }
        public void CompletedGridShouldHaveAStateOfComplete()
        {
            var grid = Grid.OfSize(3);

            for (int index = 0; index < 9; index++)
            {
                grid.Cell(index / 3, index % 3, index + 1);
            }
            var setCollection = CellSetCollection.For(grid);

            Assert.That(setCollection.AggregatedState, Is.EqualTo(CellSet.StateValue.Complete));
        }