Example #1
0
        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);
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
 public void SetUp()
 {
     actionsNotified = new List <NotifyCollectionChangedAction> ();
     col             = new LimitedCollectionViewModel <Utils.PlayerDummy, DummyPlayerVM> ();
     col.Limitation  = new CountLimitationVM();
     players         = CreateDummyPlayers();
 }
Example #6
0
        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);
        }
Example #7
0
 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);
     }
 }