public void IsPlacementValid_WordCrossesAnotherWord_Various(char[,] grid,
                                                                    int row,
                                                                    int column,
                                                                    string word,
                                                                    DirectionFlagsEnum direction,
                                                                    bool expectedResult)
        {
            var hiddenWord = new HiddenWord()
            {
                Start     = new GridLocation(row, column),
                Word      = word,
                Direction = direction
            };
            var result = PlacementValidator.IsWordPlacementValid(grid, hiddenWord);

            Assert.Equal(result, expectedResult);
        }
        [InlineData(20, 1, "abcdefghijklmnopqrst", DirectionFlagsEnum.UpRight, true)]  // Max size word fits in DownRight
        public void IsPlacementValid_MaxWordSize_Various(int row,
                                                         int column,
                                                         string word,
                                                         DirectionFlagsEnum direction,
                                                         bool expectedResult)
        {
            var grid       = new char[20, 20];
            var hiddenWord = new HiddenWord()
            {
                Start     = new GridLocation(row, column),
                Word      = word,
                Direction = direction
            };
            var result = PlacementValidator.IsWordPlacementValid(grid, hiddenWord);

            Assert.Equal(result, expectedResult);
        }