예제 #1
0
        public void TemplateVM_SelectionReplaceWithSamelist_DoNotReplace()
        {
            int count = 0;
            var model = new DummyTeam {
                Name = "dash",
            };

            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());

            var viewModel = new DummyTeamVM {
                Model = model
            };

            viewModel.Selection.Replace(viewModel.ViewModels);
            viewModel.PropertyChanged += (sender, e) => count++;

            viewModel.Selection.Replace(viewModel.ViewModels);

            Assert.AreEqual(0, count);
            Assert.AreSame(viewModel.Selection [0], viewModel.ViewModels [0]);
            Assert.AreSame(viewModel.Selection [1], viewModel.ViewModels [1]);
            Assert.AreSame(viewModel.Selection [2], viewModel.ViewModels [2]);
        }
예제 #2
0
        public void TemplateVM_SelectionReplaceDifferentList_DoReplace()
        {
            int    count    = 0;
            string propName = "";
            var    model    = new DummyTeam {
                Name = "dash",
            };

            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());

            var viewModel = new DummyTeamVM {
                Model = model
            };

            viewModel.Select(viewModel.ViewModels.First());
            viewModel.PropertyChanged += (sender, e) => { count++; propName = e.PropertyName; };

            viewModel.Selection.Replace(viewModel.ViewModels);

            Assert.AreEqual(1, count);
            Assert.AreEqual("Collection_Selection", propName);
            Assert.AreSame(viewModel.Selection [0], viewModel.ViewModels[0]);
            Assert.AreSame(viewModel.Selection [1], viewModel.ViewModels[1]);
            Assert.AreSame(viewModel.Selection [2], viewModel.ViewModels [2]);
        }
예제 #3
0
        public void TestSelectionInit()
        {
            var model = new DummyTeam {
                Name = "dash",
            };
            var viewModel = new DummyTeamVM {
                Model = model
            };

            Assert.IsNotNull(viewModel.Selection);
        }
예제 #4
0
        public void TestRemoveChild()
        {
            var model = new DummyTeam {
                Name = "dash",
            };

            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());
            var viewModel = new DummyTeamVM {
                Model = model
            };

            model.List.Remove(model.List [0]);

            Assert.AreEqual(1, viewModel.Count());
        }
예제 #5
0
        public void TestModelSync()
        {
            var model = new DummyTeam {
                Name = "dash",
            };

            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());

            var viewModel = new DummyTeamVM {
                Model = model
            };

            Assert.AreEqual(3, viewModel.Count());
            Assert.IsInstanceOf(typeof(PlayerVM), viewModel.First());
        }
예제 #6
0
        public void TestSelect()
        {
            var model = new DummyTeam {
                Name = "dash",
            };
            var player = new Utils.PlayerDummy();

            model.List.Add(player);
            var viewModel = new DummyTeamVM {
                Model = model
            };

            viewModel.Select(viewModel.ViewModels.First());

            Assert.AreEqual(1, viewModel.Selection.Count);
            Assert.AreEqual(player, viewModel.Selection.First().Model);
        }
예제 #7
0
        public void Selection_CollectionCleared_SelectionSynced()
        {
            var model = new DummyTeam {
                Name = "dash",
            };

            model.List.Add(new Utils.PlayerDummy());
            model.List.Add(new Utils.PlayerDummy());
            var viewModel = new DummyTeamVM {
                Model = model
            };

            var element = viewModel.ViewModels [0];

            viewModel.Select(element);
            viewModel.ViewModels.Clear();

            Assert.IsEmpty(viewModel.Selection);
        }