public void CountingConflictsByHetmanTest()
        {
            // prepare data
            int chessBoardSize = 5;

            int[] positionInColumns = new int[] { 2, 4, 1, 0, 3 };
            int[] countHetmanInRow  = new int[] { 1, 1, 1, 1, 1 };
            int[] countHetmanInToLeftDownDiagonal  = new int[] { 0, 0, 1, 2, 0, 1, 0, 1, 0 };
            int[] countHetmanInToRightDownDiagonal = new int[] { 0, 1, 1, 0, 0, 2, 0, 1, 0 };

            // make calculations
            var conflictsFirstHetman = ChessBoardHelper.GetConflictsByHetman(positionInColumns, countHetmanInRow, countHetmanInToLeftDownDiagonal,
                                                                             countHetmanInToRightDownDiagonal, 0, chessBoardSize);

            var conflictsSecondHetman = ChessBoardHelper.GetConflictsByHetman(positionInColumns, countHetmanInRow, countHetmanInToLeftDownDiagonal,
                                                                              countHetmanInToRightDownDiagonal, 1, chessBoardSize);

            var conflictsThirdHetman = ChessBoardHelper.GetConflictsByHetman(positionInColumns, countHetmanInRow, countHetmanInToLeftDownDiagonal,
                                                                             countHetmanInToRightDownDiagonal, 2, chessBoardSize);

            var conflictsFourthHetman = ChessBoardHelper.GetConflictsByHetman(positionInColumns, countHetmanInRow, countHetmanInToLeftDownDiagonal,
                                                                              countHetmanInToRightDownDiagonal, 3, chessBoardSize);

            var conflictsFifthHetman = ChessBoardHelper.GetConflictsByHetman(positionInColumns, countHetmanInRow, countHetmanInToLeftDownDiagonal,
                                                                             countHetmanInToRightDownDiagonal, 4, chessBoardSize);

            // assert data
            Assert.AreEqual(0, conflictsFirstHetman);
            Assert.AreEqual(0, conflictsSecondHetman);
            Assert.AreEqual(2, conflictsThirdHetman);
            Assert.AreEqual(1, conflictsFourthHetman);
            Assert.AreEqual(1, conflictsFifthHetman);
        }
        private int GetConflictsOnBoard(int[] positionInColumns, int[] countHetmanInRow, int[] countHetmanToLeftDiagonal,
                                        int[] countHetmanToRightDownDiagonal)
        {
            var result = 0;

            for (int hetman = 0; hetman < _chessBoardSize; hetman++)
            {
                result += ChessBoardHelper.GetConflictsByHetman(positionInColumns, countHetmanInRow, countHetmanToLeftDiagonal,
                                                                countHetmanToRightDownDiagonal, hetman, _chessBoardSize);
            }

            return(result);
        }