コード例 #1
0
        public void Given_FibonacciNumber_When_CheckingIfIsFibonacciNumber_Expect_True()
        {
            // Arrange
            var       fibonacciCheckerService = new FibonacciCheckerService();
            const int fibonacciNumber         = 3;

            // Act
            var isFibonacci = fibonacciCheckerService.IsFibonacci(fibonacciNumber);

            // Assert
            Assert.True(isFibonacci);
        }
コード例 #2
0
        public void Given_IsFibonacciBoolean_When_IncrementingValue_Expect_True()
        {
            // Arrange
            var fibonacciCheckerService = new FibonacciCheckerService();
            var gridCell = new GridCell(fibonacciCheckerService);

            // Act
            gridCell.IncrementGridCellValue(1);

            // Assert
            Assert.IsTrue(gridCell.IsFibonacci);

            // Act
            gridCell.IncrementGridCellValue(4);

            // Assert
            Assert.IsTrue(gridCell.IsFibonacci);
        }
コード例 #3
0
        public void Given_CellCoordinate_When_HorizontalAndVerticalFibonacciNeighborsAreAboveThreshold_Expect_CorrectNeighborCells()
        {
            // Arrange
            var fibonacciCheckerService  = new FibonacciCheckerService();
            var fibonacciNeighborService = new FibonacciNeighborService();

            var grid = new Grid(fibonacciCheckerService);

            var cellsToSetToTrue = GetVerticalCells();

            cellsToSetToTrue.AddRange(GetHorizontalCells());

            foreach (var(rowIndex, columnIndex) in cellsToSetToTrue)
            {
                var gridCell = grid.FibonacciGrid[rowIndex, columnIndex];
                gridCell.IncrementGridCellValue(5);
            }

            var cellsToSetToFalse = new List <Tuple <int, int> > {
                Tuple.Create(20, 25), Tuple.Create(30, 25), Tuple.Create(25, 20), Tuple.Create(25, 30)
            };

            foreach (var(rowIndex, columnIndex) in cellsToSetToFalse)
            {
                grid.FibonacciGrid[rowIndex, columnIndex].IncrementGridCellValue(4);
            }

            var cellToCheck = new List <Tuple <int, int> >
            {
                Tuple.Create(25, 25)
            };

            // Act
            var neighbors  = fibonacciNeighborService.FindNeighbors(grid, cellToCheck);
            var vertical   = neighbors.First();
            var horizontal = neighbors.Skip(1).First();

            // Assert
            Assert.AreEqual(9, horizontal.Count);
            horizontal.ForEach(cell => Assert.AreEqual(5, cell.Value));

            Assert.AreEqual(9, vertical.Count);
            vertical.ForEach(cell => Assert.AreEqual(5, cell.Value));
        }