public void LimitedCollection_MaximumChange_DoNotRemoveModels() { LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> collection = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> (); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.Limitation = new CountLimitationVM { Model = new CountLicenseLimitation { Maximum = 1, Enabled = true } }; collection.Limitation.Model.Maximum = 2; // Assert Assert.AreEqual(3, collection.Model.Count); Assert.AreEqual(2, collection.ViewModels.Count); Assert.AreEqual(3, ((CollectionViewModel <Utils.PlayerDummy, DummyPlayerVM>)collection).ViewModels.Count); Assert.AreEqual(2, collection.LimitedViewModels.Count); }
public void ViewModelsCollectionChange_Replace_UpdateModelsAndLimitationOk() { // Arrange LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> collection = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> (); collection.Limitation = new CountLimitationVM { Model = new CountLicenseLimitation { Maximum = 1, Enabled = true } }; collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); // Act var vmToReplace = new DummyPlayerVM { Model = new Utils.PlayerDummy() }; collection.ViewModels.Reset(new List <DummyPlayerVM> { vmToReplace }); // Assert Assert.AreEqual(1, collection.Model.Count); Assert.AreEqual(1, collection.ViewModels.Count); Assert.AreEqual(1, ((CollectionViewModel <Utils.PlayerDummy, DummyPlayerVM>)collection).ViewModels.Count); Assert.AreEqual(1, collection.LimitedViewModels.Count); Assert.IsTrue(collection.ViewModels.Contains(vmToReplace)); }
public void ReplaceModelFromCollection_VMAddedToLimitedVM_UpdatedOk() { // Arrange LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> collection = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> (); collection.Limitation = new CountLimitationVM { Model = new CountLicenseLimitation { Maximum = 1, Enabled = true } }; collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); // Act var model = new Utils.PlayerDummy(); collection.Model.Reset(new List <Utils.PlayerDummy> { model }); // Assert Assert.AreEqual(1, collection.Model.Count); Assert.AreEqual(1, collection.ViewModels.Count); Assert.AreEqual(1, ((CollectionViewModel <Utils.PlayerDummy, DummyPlayerVM>)collection).ViewModels.Count); Assert.AreEqual(1, collection.LimitedViewModels.Count); Assert.IsTrue(collection.ViewModels.Any(x => x.Model == model)); }
public void RemoveModelFromCollection_VMAddedToLimitedVM_UpdatedOk() { // Arrange LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> collection = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> (); collection.Limitation = new CountLimitationVM { Model = new CountLicenseLimitation { Maximum = 1, Enabled = true } }; collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); // Act var vmToRemove = collection.ViewModels.First(); collection.Model.Remove(vmToRemove.Model); // Assert Assert.AreEqual(1, collection.Model.Count); Assert.AreEqual(1, collection.ViewModels.Count); Assert.AreEqual(1, ((CollectionViewModel <Utils.PlayerDummy, DummyPlayerVM>)collection).ViewModels.Count); Assert.AreEqual(1, collection.LimitedViewModels.Count); Assert.IsFalse(collection.ViewModels.Contains(vmToRemove)); }
public void SetUp() { actionsNotified = new List <NotifyCollectionChangedAction> (); col = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> (); col.Limitation = new CountLimitationVM(); players = CreateDummyPlayers(); }
public void ViewModelsCollectionChange_Add_UpdateModelsAndLimitationOk() { // Arrange LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> collection = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> (); collection.Limitation = new CountLimitationVM { Model = new CountLicenseLimitation { Maximum = 1, Enabled = true } }; // Act collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); collection.ViewModels.Add(new DummyPlayerVM { Model = new Utils.PlayerDummy() }); // Assert Assert.AreEqual(2, collection.Model.Count); Assert.AreEqual(1, collection.ViewModels.Count); Assert.AreEqual(2, ((CollectionViewModel <Utils.PlayerDummy, DummyPlayerVM>)collection).ViewModels.Count); Assert.AreEqual(1, collection.LimitedViewModels.Count); }
public void CheckPlayersInLimitedCollectionBy( int [] orderPlayers, List <Utils.PlayerDummy> players, LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> collection) { Assert.AreEqual(orderPlayers.Length, collection.Count()); for (int i = 0; i < orderPlayers.Length; i++) { Assert.AreEqual(players [orderPlayers [i]].Name, collection.ElementAt(i).Model.Name); } }