[TestClass]
  public class GamesPageModelShould
  {
    [DataTestMethod]
    [DynamicData(nameof(SearchTermData))]
    public void Throw_ArgumentOutOfRangeException_On_GetGamesByTitle_When_SearchTerm_Argument_Is_NullOr_WhiteSpace(
      string searchTerm)
    {
      var mockGameService = new GameServiceMock();

      var gamesPageModel = new GamesPageModel(mockGameService);

      Assert.ThrowsException<ArgumentOutOfRangeException>(() => gamesPageModel.GetGamesByTitle(searchTerm));
    }

    public static IEnumerable<object> SearchTermData
    {
      get
      {
        return new[]
        {
          new object[] {""},
          new object[] {null},
          new object[] {"    "}
        };
      }
    }
  }