public async Task SearchIgnoresCase()
        {
            DoppelCommandFactory.SetupStaticCommandFactory();
            var gameFavoriter   = new DoppelGameFavoriter();
            var favoriteFetcher = new DoppelFavoriteGameFetcher();
            var querier         = new DoppelFavoriteGameQuerier();
            var networkChecker  = new NetworkChecker();
            var doppelFetcher   = new DoppelGameFetcher()
            {
                Games = new GameViewModel[]
                {
                    NewGame("SoA", 1, gameFavoriter, querier),
                    NewGame("s", 2, gameFavoriter, querier)
                }
            };
            var viewModel = new MainPageViewModel(doppelFetcher, favoriteFetcher, networkChecker);
            await viewModel.Refresh();

            viewModel.SearchText = "s";

            var expectedCount = 2;
            var actualCount   = viewModel.Games.Count();

            Assert.AreEqual(expectedCount, actualCount);
        }
        public async Task WhenRefreshFinishesIsRefreshIsFalse()
        {
            DoppelCommandFactory.SetupStaticCommandFactory();

            var viewModel = new ViewModel();

            await viewModel.Refresh();

            var actual = viewModel.IsRefreshing;

            Assert.IsFalse(actual);
        }
        public async Task RefreshCausesIsRefreshingToBeTrue()
        {
            DoppelCommandFactory.SetupStaticCommandFactory();

            var actual = false;

            var viewModel = new ViewModel()
            {
                Callback = (e) =>
                {
                    actual = e;
                }
            };

            await viewModel.Refresh();

            Assert.IsTrue(actual);
        }