| 12 | } |
| 13 | |
| 14 | func getTilingProblemTestCases() []testCaseTilingProblem { |
| 15 | return []testCaseTilingProblem{ |
| 16 | {1, 1}, // Base case: 1 way to tile a 2x1 grid |
| 17 | {2, 2}, // 2 ways to tile a 2x2 grid |
| 18 | {3, 3}, // 3 ways to tile a 2x3 grid |
| 19 | {4, 5}, // 5 ways to tile a 2x4 grid |
| 20 | {5, 8}, // 8 ways to tile a 2x5 grid |
| 21 | {6, 13}, // 13 ways to tile a 2x6 grid |
| 22 | {10, 89}, // 89 ways to tile a 2x10 grid |
| 23 | {0, 1}, // Edge case: 1 way to tile a 2x0 grid (no tiles) |
| 24 | {7, 21}, // 21 ways to tile a 2x7 grid |
| 25 | {8, 34}, // 34 ways to tile a 2x8 grid |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | func TestTilingProblem(t *testing.T) { |
| 30 | t.Run("Tiling Problem test cases", func(t *testing.T) { |