public void DeleteItemsTest() { IListModel <IEventModel> model = new ListModel <IEventModel>(); List <IItemModelAdapter <IEventModel> > items = new List <IItemModelAdapter <IEventModel> >(); ItemModelAdapterForPassive <IEventModel> ivanovo = new ItemModelAdapterForPassive <IEventModel>(new EventModel(235235, "Ivanovo", DateTime.Now, "Ivanovo station. 5 min.")); items.Add(ivanovo); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(945853, "Airport", DateTime.Now, "Airport station. 15 min."))); ItemModelAdapterForPassive <IEventModel> lake = new ItemModelAdapterForPassive <IEventModel>(new EventModel(124590, "Lake", DateTime.Now, "Lake station. 5 min. Temporarily closed.")); items.Add(lake); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(744935, "Central station.", DateTime.Now, "Central station. 7 min."))); model.AddItems(items); List <IItemModelAdapter <IEventModel> > eventsForDelete = new List <IItemModelAdapter <IEventModel> >(); eventsForDelete.Add(ivanovo); eventsForDelete.Add(lake); model.DeleteItems(eventsForDelete); var restOfEvents = model.GetItems(); Assert.IsTrue(!restOfEvents.Contains(ivanovo) && !restOfEvents.Contains(lake)); }
public void UpdateTest() { IListModel <IEventModel> model = new ListModel <IEventModel>(); List <IItemModelAdapter <IEventModel> > items = new List <IItemModelAdapter <IEventModel> >(); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(235235, "Ivanovo", DateTime.Now, "Ivanovo station. 5 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(945853, "Airport", DateTime.Now, "Airport station. 15 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(124590, "Lake", DateTime.Now, "Lake station. 5 min. Temporarily closed."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(744935, "Central station.", DateTime.Now, "Central station. 7 min."))); model.AddItems(items); List <IItemModelAdapter <IEventModel> > itemsFromUpdate = new List <IItemModelAdapter <IEventModel> >(); model.Updated += (sender, e) => { itemsFromUpdate.AddRange(e.List.GetItems()); }; model.Update(); //множества совпадают Assert.IsTrue(items.Except(itemsFromUpdate).Count() == 0 && itemsFromUpdate.Except(items).Count() == 0); }
public void ProcessCanNotBeUpdatedWhileItEdit() { IListModel <IEventModel> model = new ListModel <IEventModel>(); List <IItemModelAdapter <IEventModel> > items = new List <IItemModelAdapter <IEventModel> >(); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(235235, "Ivanovo", DateTime.Now, "Ivanovo station. 5 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(945853, "Airport", DateTime.Now, "Airport station. 15 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(124590, "Lake", DateTime.Now, "Lake station. 5 min. Temporarily closed."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(744935, "Central station.", DateTime.Now, "Central station. 7 min."))); model.AddItems(items); var creator = new EventViewModelCreator(); var eventModelCreator = new EventModelAdapterCreator(); var vmFirst = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(model, creator, eventModelCreator); vmFirst.LetUpdate = false; IListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel> viewModelFirst = vmFirst; var itemsVMFirst = viewModelFirst.ItemsVM; var vmSecond = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(model, creator, eventModelCreator); vmSecond.LetUpdate = false; IListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel> viewModelSecond = vmSecond; var itemsVMSecond = viewModelSecond.ItemsVM; viewModelFirst.EditListCommand.Execute(null); viewModelSecond.EditListCommand.Execute(null); viewModelSecond.AddItemCommand.Execute(null); viewModelSecond.CurrentVM.DataViewModel.Id = 5374623654; viewModelSecond.CurrentVM.DataViewModel.Name = "XX century"; viewModelSecond.CurrentVM.DataViewModel.Description = "station was built in XX century."; viewModelSecond.CurrentVM.SaveCommand.Execute(null); viewModelSecond.SaveListCommand.Execute(null); Assert.IsNull(itemsVMFirst.FirstOrDefault(ev => ev.DataViewModel.Name == "XX century")); Assert.IsTrue(itemsVMFirst.Count == 4); }
public void AddItemsTest() { IListModel <IEventModel> model = new ListModel <IEventModel>(); List <IItemModelAdapter <IEventModel> > items = new List <IItemModelAdapter <IEventModel> >(); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(235235, "Ivanovo", DateTime.Now, "Ivanovo station. 5 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(945853, "Airport", DateTime.Now, "Airport station. 15 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(124590, "Lake", DateTime.Now, "Lake station. 5 min. Temporarily closed."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(744935, "Central station.", DateTime.Now, "Central station. 7 min."))); model.AddItems(items); var addedEvents = model.GetItems(); Assert.IsTrue(items.Count == addedEvents.Count()); }
private void Window_Loaded(object sender, RoutedEventArgs e) { ShopModel FishAndMeatShop = new ShopModel("FishAndMeat", "Oswin St, 3", "Very, very good"); List <IItemModelAdapter <ProductModel> > fishAndMeatItems = new List <IItemModelAdapter <ProductModel> >(); fishAndMeatItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Milk", 5, 4.56))); fishAndMeatItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Mushroom", 5, 9.88))); fishAndMeatItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Chicken", 2, 6.17))); fishAndMeatItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Soup", 3, 2.34))); fishAndMeatItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Cheese", 7, 3.96))); FishAndMeatShop.AddItems(fishAndMeatItems); ShopModel PenAndAppleShop = new ShopModel("PenAndApple", "Rushworth St, 34", "Super shop"); List <IItemModelAdapter <ProductModel> > PenAndAppleItems = new List <IItemModelAdapter <ProductModel> >(); PenAndAppleItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Milk", 10, 5.56))); PenAndAppleItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Wieners", 4, 4.38))); PenAndAppleItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Chicken", 3, 5.22))); PenAndAppleItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Fish", 2, 4.55))); PenAndAppleItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Bread", 5, 1.24))); PenAndAppleItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Сhips", 3, 4.21))); PenAndAppleShop.AddItems(PenAndAppleItems); ShopModel GoodFoodShop = new ShopModel("GoodFood", "Scott Lidgett Cres, 24", "Sale everytime"); List <IItemModelAdapter <ProductModel> > goodFoodItems = new List <IItemModelAdapter <ProductModel> >(); goodFoodItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Milk", 4, 3.55))); goodFoodItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Mushroom", 5, 9.88))); goodFoodItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Wine", 2, 3.23))); goodFoodItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Soup", 5, 3.88))); goodFoodItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Bread", 3, 4.66))); GoodFoodShop.AddItems(goodFoodItems); ShopModel _7DaysShop = new ShopModel("7Days", "Plough Way, 55", "Open everytime"); List <IItemModelAdapter <ProductModel> > _7DaysShopItems = new List <IItemModelAdapter <ProductModel> >(); _7DaysShopItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Milk", 2, 4.55))); _7DaysShopItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Wieners", 10, 5.32))); _7DaysShopItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Chicken", 2, 5.66))); _7DaysShopItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Сhips", 5, 2.10))); _7DaysShopItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Soup", 4, 5.24))); _7DaysShopItems.Add(new ItemModelAdapterForPassive <ProductModel>(new ProductModel("Cheese", 2, 4.33))); _7DaysShop.AddItems(_7DaysShopItems); IListModel <ShopModel> shopsModel = new ListModel <ShopModel>(); List <IItemModelAdapter <ShopModel> > shops = new List <IItemModelAdapter <ShopModel> >(); shops.Add(new ItemModelAdapterForPassive <ShopModel>(FishAndMeatShop)); shops.Add(new ItemModelAdapterForPassive <ShopModel>(PenAndAppleShop)); shops.Add(new ItemModelAdapterForPassive <ShopModel>(GoodFoodShop)); shops.Add(new ItemModelAdapterForPassive <ShopModel>(_7DaysShop)); shopsModel.AddItems(shops); var shopCreator = new ViewModelShopCreator(); var shopModelCreator = new ShopModelAdapterCreator(); var vmList = new ListViewModelWithTimer <ShopModel, ShopViewModel, ShopDetailViewModel>(shopsModel, shopCreator, shopModelCreator, 10); //var vmList = new ListViewModel<ShopModel, ShopViewModel, ShopDetailViewModel>(shopsModel, shopCreator, shopModelCreator); vmList.LetUpdate = true; ShopsTop = vmList; vmList = new ListViewModelWithTimer <ShopModel, ShopViewModel, ShopDetailViewModel>(shopsModel, shopCreator, shopModelCreator, 10); vmList.LetUpdate = true; ShopsBottom = vmList; this.DataContext = this; }