Пример #1
0
        public void TastStateConditions()
        {
            var catsStorage = new CatsStorage();
            var catsData    = new CatsData();

            var vm = new ImagesViewModel(catsStorage, catsData);

            vm.Init(null);

            Assert.AreEqual(vm.CurrentState, State.NoData);

            vm.Init(null);

            catsData.TokenCource = new CancellationTokenSource();

            vm.Init(null);

            Assert.AreEqual(vm.CurrentState, State.Loading);

            catsData.TokenCource.Cancel();
            catsData.TokenCource = null;

            Assert.AreEqual(vm.CurrentState, State.Error);

            catsData.Cats = new List <ImageModel>
            {
                new ImageModel(0, String.Empty, String.Empty, String.Empty)
            };

            vm.Init(null);

            Assert.AreEqual(vm.CurrentState, State.Normal);
        }
Пример #2
0
        public void AddToFavoriteTest()
        {
            var catsStorage = new CatsStorage();
            var catsData    = new CatsData();

            catsStorage.Cats = new List <ImageModel>
            {
                new ImageModel(27, String.Empty, String.Empty, String.Empty),
                new ImageModel(37, String.Empty, String.Empty, String.Empty),
            };

            var vm = new ImagesViewModel(catsStorage, catsData);

            vm.Init(null);

            Assert.IsTrue(vm.FavoriteCommand.CanExecute(catsStorage.Cats.First()));

            vm.FavoriteCommand.Execute(catsStorage.Cats.First());

            Assert.IsTrue(vm.Cats.First().IsFavorite);
            Assert.IsFalse(vm.Cats.Last().IsFavorite);

            Assert.IsTrue(catsStorage.Cats.First().IsFavorite);
            Assert.IsFalse(catsStorage.Cats.Last().IsFavorite);

            Assert.AreEqual(catsStorage.CatsFavoritesIds.Count, 1);
            Assert.AreEqual(catsStorage.CatsFavoritesIds.First(), catsStorage.Cats.First().Id);
        }
Пример #3
0
        public void ThereAreFavoritesInStorageTest()
        {
            var catsStorage = new CatsStorage();
            var catsData    = new CatsData();

            catsStorage.Cats = new List <ImageModel>
            {
                new ImageModel(27, String.Empty, String.Empty, String.Empty),
                new ImageModel(37, String.Empty, String.Empty, String.Empty),
            };

            var vm = new ImagesViewModel(catsStorage, catsData);

            vm.Init(null);

            Assert.IsFalse(vm.Cats.Any(model => model.IsFavorite));

            catsStorage.CatsFavoritesIds = new List <int>
            {
                catsStorage.Cats.First().Id
            };

            vm.Init(null);

            Assert.AreEqual(1, vm.Cats.Count(model => model.IsFavorite));
        }
Пример #4
0
        public void StorageTest()
        {
            var catsStorage = new CatsStorage();
            var catsData    = new CatsData();

            catsData.Cats = new List <ImageModel>
            {
                new ImageModel(27, String.Empty, String.Empty, String.Empty),
                new ImageModel(37, String.Empty, String.Empty, String.Empty),
            };

            var vm = new ImagesViewModel(catsStorage, catsData);

            vm.Init(null);

            Assert.AreEqual(catsStorage.Cats.Count, 2);
            Assert.AreEqual(catsStorage.Cats.Last().Id, 37);

            vm.Init(null);

            Assert.AreEqual(catsData.InvokingCount, 1);
        }
Пример #5
0
        public void ItemWasChangedTest()
        {
            var catsStorage = new CatsStorage();
            var catsData    = new CatsData();

            catsStorage.Cats = new List <ImageModel>
            {
                new ImageModel(27, String.Empty, String.Empty, String.Empty),
                new ImageModel(37, String.Empty, String.Empty, String.Empty),
            };

            var vm = new ImagesViewModel(catsStorage, catsData);

            vm.Init(null);

            Assert.AreEqual(catsStorage.SetCatsCount, 1);

            Assert.IsTrue(vm.ItemWasChangedCommand.CanExecute(catsStorage.Cats.First()));

            vm.ItemWasChangedCommand.Execute(catsStorage.Cats.First());

            Assert.AreEqual(catsStorage.SetCatsCount, 2);
        }
Пример #6
0
        public void RepeatTest()
        {
            var catsStorage = new CatsStorage();
            var catsData    = new CatsData();

            var vm = new ImagesViewModel(catsStorage, catsData);

            vm.Init(null);

            Assert.IsNull(vm.Cats);

            catsData.Cats = new List <ImageModel>
            {
                new ImageModel(27, String.Empty, String.Empty, String.Empty),
                new ImageModel(37, String.Empty, String.Empty, String.Empty),
            };

            Assert.IsTrue(vm.RepeatCommand.CanExecute(null));

            vm.RepeatCommand.Execute(null);

            Assert.AreEqual(vm.Cats.Count, 2);
        }