示例#1
0
        private HintField CreateSut(IMineField mineField)
        {
            var hintCompass = new HintCompass(mineField);
            var hintField   = new HintField(HintCompassFactory,
                                            mineField);

            return(hintField);
        }
        private IHintField CreateHintField([NotNull] IMineField mineField)
        {
            var factory   = new HintCompassFactory();
            var hintField = new HintField(factory,
                                          mineField);

            return(hintField);
        }
        public void ColumnsCount_ReturnsColumnsCount_ForHintField()
        {
            // Arrange
            IMineField field = CreateMineField(m_MineFieldWithTwoMines);
            HintField  sut   = CreateSut(field);

            // Act
            // Assert
            Assert.AreEqual(4,
                            sut.RowsCount);
        }
        public void GetHintFor_Throws_ForInvalidRowAndColumn(int row,
                                                             int column)
        {
            // Arrange
            IMineField mineField = CreateMineField(m_MineFieldWithTwoMines);
            HintField  sut       = CreateSut(mineField);

            // Act
            // Assert
            Assert.Throws <ArgumentException>(() => sut.GetHintFor(row,
                                                                   column));
        }
        private HintField CreateSut(IMineField mineField)
        {
            var hintCompass = new HintCompass(mineField); // todo replace with Substitute?
            var factory     = Substitute.For <IHintCompassFactory>();

            factory.Create(Arg.Any <IMineField>())
            .Returns(hintCompass);

            var hintField = new HintField(factory,
                                          mineField);

            return(hintField);
        }
        public void GetHintFor_ReturnsHintNumber_ForRowAndColumn(int row,
                                                                 int column,
                                                                 int expected)
        {
            // Arrange
            IMineField mineField = CreateMineField(m_MineFieldWithTwoMines);
            HintField  sut       = CreateSut(mineField);

            // Act
            int actual = sut.GetHintFor(row,
                                        column);

            // Assert
            Assert.AreEqual(expected,
                            actual);
        }