コード例 #1
0
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public void TestHandleSave_ForcedNameChanged()
        {
            // Arrange
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam();

            team.Name = "Test Team #1";
            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);

            DummyTeam team2        = team.Clone();
            string    expectedName = "Test Team #2";

            team2.Name = expectedName;

            // Action
            App.Current.EventsBroker.Publish(new UpdateEvent <Team> ()
            {
                Object = team2,
                Force  = true
            });

            // Assert
            Assert.AreEqual(templatesController.ViewModel.ViewModels.First(x => x.ID == team.ID).Name,
                            expectedName);
            Assert.IsFalse(templatesController.ViewModel.SaveCommand.CanExecute());
        }
コード例 #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
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public void Search_TemplateExist_TemplateFound()
        {
            //Arrange
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam {
                Name = "Dummy"
            };

            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);

            //Act
            var evt = new SearchEvent {
                TextFilter = "Dummy"
            };

            // Action
            App.Current.EventsBroker.Publish(evt);


            //Assert
            Assert.AreEqual(1, templatesController.ViewModel.VisibleViewModels.Count);
            Assert.AreEqual("Dummy", templatesController.ViewModel.VisibleViewModels.FirstOrDefault().Name);
        }
コード例 #4
0
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public void Search_TemplateThatDoesntExist_VisibleViewModelsEmpty()
        {
            //Arrange
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam {
                Name = "Dummy"
            };

            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);

            //Act
            var evt = new SearchEvent {
                TextFilter = "This doesn't exist"
            };

            // Action
            App.Current.EventsBroker.Publish(evt);


            //Assert
            Assert.AreEqual(0, templatesController.ViewModel.VisibleViewModels.Count);
        }
コード例 #5
0
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public void TestHandleSave_SaveStatic()
        {
            // Arrange
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam();

            team.Name = "Test Team #1";
            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);

            DummyTeam team2        = team.Clone();
            string    expectedName = "Test Team #2";

            team2.Name   = expectedName;
            team2.Static = true;
            var evt = new UpdateEvent <Team> ()
            {
                Object = team2,
                Force  = true
            };

            // Action
            App.Current.EventsBroker.Publish(evt);

            // Assert
            mockDialogs.Verify(m => m.QuestionMessage(It.IsAny <string> (), null, It.IsAny <DummyTemplatesController> ()), Times.Once());
        }
コード例 #6
0
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public void TestHandleSave_NonForcedNameChanged()
        {
            // Arrange
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam();

            team.Name = "Test Team #1";
            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);

            DummyTeam team2        = team.Clone();
            string    expectedName = "Test Team #2";

            team2.Name = expectedName;

            // Action
            App.Current.EventsBroker.Publish(new UpdateEvent <Team> ()
            {
                Object = team2,
                Force  = false
            });

            // Assert
            mockDialogs.Verify(m => m.QuestionMessage(It.IsAny <string> (), null, It.IsAny <DummyTemplatesController> ()), Times.Once());
            Assert.AreEqual(templatesController.ViewModel.ViewModels.First(x => x.ID == team.ID).Name,
                            expectedName);
            Assert.IsFalse(templatesController.ViewModel.SaveCommand.CanExecute());
        }
コード例 #7
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]);
        }
コード例 #8
0
        public void TestClone_CloneIgnore_Team()
        {
            var team = new DummyTeam();

            team.Static = true;
            team.Color  = Color.Black;
            var team2 = team.Clone();

            Assert.AreEqual(team.Static, team2.Static);
            Assert.AreEqual(team.Color, team2.Color);
        }
コード例 #9
0
        public void TestSelectionInit()
        {
            var model = new DummyTeam {
                Name = "dash",
            };
            var viewModel = new DummyTeamVM {
                Model = model
            };

            Assert.IsNotNull(viewModel.Selection);
        }
コード例 #10
0
        public void TestClone_IsBindableBase_ChangeCollectionProperty()
        {
            // Arrange
            var team       = new DummyTeam();
            var clonedTeam = team.Clone();

            clonedTeam.IsChanged = false;

            // Action
            clonedTeam.List.Add(new Utils.PlayerDummy());

            // Assert
            Assert.IsTrue(clonedTeam.IsChanged);
        }
コード例 #11
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());
        }
コード例 #12
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());
        }
コード例 #13
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);
        }
コード例 #14
0
        public void FixtureSetUp()
        {
            WibuInit.InitDependencies();

            DummyTeam team = new DummyTeam {
                Name = "Team 1"
            };

            mockGuiToolkit = new Mock <IGUIToolkit> ();
            mockDialogs    = new Mock <IDialogs> ();
            mockProvider   = new Mock <ITeamTemplatesProvider> ();

            mockGuiToolkit.Setup(x => x.CreateNewTemplate <Team> (It.IsAny <IList <Team> > (),
                                                                  It.IsAny <string> (),
                                                                  It.IsAny <string> (),
                                                                  It.IsAny <string> (),
                                                                  It.IsAny <CreateEvent <Team> > ()
                                                                  )).ReturnsAsync(true);
            mockDialogs.Setup(x => x.OpenFile(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (),
                                              It.IsAny <string> (), It.IsAny <string []> ())).Returns("Team.ltt");
            mockDialogs.Setup(m => m.QueryMessage(It.IsAny <string> (), null, It.IsAny <string> (),
                                                  It.IsAny <object> ())).Returns(AsyncHelpers.Return("team_copy"));
            mockDialogs.Setup(x => x.QuestionMessage(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <object> ()))
            .ReturnsAsync(true);
            mockProvider.Setup(x => x.LoadFile(It.IsAny <string> ())).Returns(team);
            mockProvider.Setup(x => x.Templates).Returns(new List <Team> ());

            App.Current.GUIToolkit            = mockGuiToolkit.Object;
            App.Current.Dialogs               = mockDialogs.Object;
            App.Current.TeamTemplatesProvider = mockProvider.Object;

            mockLimitationService = new Mock <ILicenseLimitationsService> ();
            countLimitationVM     = new CountLimitationVM()
            {
                Model = new CountLicenseLimitation {
                    RegisterName = LongoMatchCountLimitedObjects.Team.ToString(),
                    Enabled      = true,
                    Maximum      = 2
                }
            };
            mockLimitationService.Setup(x => x.Get <CountLimitationVM> (It.IsAny <string> ())).Returns(countLimitationVM);
            App.Current.LicenseLimitationsService = mockLimitationService.Object;

            controller = new TeamsController();
        }
コード例 #15
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);
        }
コード例 #16
0
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public TeamVM PrepareExport()
        {
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam();

            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);
            templatesController.ViewModel.Selection.Add(teamVM);
            tempFile = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
            tempFile = Path.ChangeExtension(tempFile, null);
            mockDialogs.Setup(m => m.SaveFile(It.IsAny <string> (), It.IsAny <string> (),
                                              It.IsAny <string> (), It.IsAny <string> (),
                                              It.IsAny <string []> ())).
            Returns(tempFile);
            return(teamVM);
        }
コード例 #17
0
        public void TestEventForwardingInCollectionReplacements()
        {
            // Arrange
            List <object> senderObjects = new List <object> ();
            DummyPlayer   p1            = new DummyPlayer {
                Name = "Player 1"
            };
            DummyPlayer p2 = new DummyPlayer {
                Name = "Player 2"
            };
            DummyTeam team = new DummyTeam();

            team.List.Add(p1);
            team.List.Add(p2);

            team.List.Swap(p1, p2);

            team.IsChanged = false;
            p1.IsChanged   = false;
            p2.IsChanged   = false;

            team.PropertyChanged += (sender, e) => {
                senderObjects.Add(sender);
            };

            // Action
            p2.Nationality = "FR";
            p1.Nationality = "DE";

            //Assert
            Assert.AreEqual(p2.Nationality, team.List [0].Nationality);
            Assert.AreEqual(p1.Nationality, team.List [1].Nationality);
            Assert.IsTrue(team.IsChanged);
            Assert.IsTrue(p1.IsChanged);
            Assert.IsTrue(p2.IsChanged);
            Assert.AreEqual(2, senderObjects.Count);
            Assert.AreEqual(p2, senderObjects [0]);
            Assert.AreEqual(p1, senderObjects [1]);
        }
コード例 #18
0
ファイル: TestTemplatesController.cs プロジェクト: kuggaa/VAS
        public void TestHandleSelectionChanged_LoadedTemplateWithTeamAndPlayer()
        {
            // Arrange
            Utils.PlayerDummy player = new Utils.PlayerDummy();
            DummyTeam         team   = new DummyTeam();

            team.List.Add(player);
            TeamVM teamVM = new TeamVM {
                Model = team
            };

            templatesController.ViewModel.ViewModels.Add(teamVM);

            // Action
            templatesController.ViewModel.Selection.Replace(templatesController.ViewModel.ViewModels);

            // Assert
            Assert.IsNotNull(templatesController.ViewModel.LoadedTemplate,
                             "Loaded template model");
            Assert.IsNotEmpty(templatesController.ViewModel.LoadedTemplate.SubViewModel,
                              "Loaded template subVM");
        }