コード例 #1
0
        public void TestIsChanged()
        {
            LMTeam t = LMTeam.DefaultTemplate(10);

            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
            t.List.Remove(t.Players [0]);
            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
            t.List.Add(new LMPlayer());
            Assert.IsTrue(t.IsChanged);
            t.IsChanged    = false;
            t.FormationStr = "1-2";
            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
            t.Colors    = null;
            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
            t.Shield    = new Image(10, 10);
            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
            t.TeamName  = "new";
            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
            t.Name      = "new";
            Assert.IsTrue(t.IsChanged);
            t.IsChanged = false;
        }
コード例 #2
0
        public void TestRemovePlayers()
        {
            LMTeam t = LMTeam.DefaultTemplate(15);

            t.FormationStr = "1-2-3-4";

            /* Removing a player from the starting list must be swapped
             * with the first player in the bench to keep the same lineup */
            t.RemovePlayers(new List <LMPlayer> {
                t.Players [0]
            }, false);
            Assert.AreEqual(15, t.Players.Count);
            Assert.AreEqual(11, t.Players [0].Number);
            Assert.AreEqual(2, t.Players [1].Number);
            Assert.AreEqual(1, t.Players [14].Number);
            t.RemovePlayers(new List <LMPlayer> {
                t.Players [0]
            }, true);
            Assert.AreEqual(14, t.Players.Count);
            Assert.AreEqual(12, t.Players [0].Number);

            t.RemovePlayers(new List <LMPlayer> {
                new LMPlayer()
            }, true);
            Assert.AreEqual(14, t.Players.Count);

            t.RemovePlayers(new List <LMPlayer> {
                new LMPlayer(), t.Players [12]
            }, true);
            Assert.AreEqual(13, t.Players.Count);
        }
コード例 #3
0
ファイル: TestStorage.cs プロジェクト: kuggaa/longomatch-core
        public void TestIsChangedResetted()
        {
            LMTeam t, t1;
            ObjectChangedParser parser;
            List <IStorable>    storables = null, changed = null;
            StorableNode        parent = null;

            parser = new ObjectChangedParser();
            t      = LMTeam.DefaultTemplate(10);
            storage.Store(t);

            // After loading an object
            t1 = DocumentsSerializer.LoadObject(typeof(LMTeam), t.ID, db) as LMTeam;
            Assert.IsTrue(parser.ParseInternal(out parent, t1, Serializer.JsonSettings));
            Assert.IsTrue(parent.ParseTree(ref storables, ref changed));
            Assert.AreEqual(0, changed.Count);
            Assert.NotNull(t1.DocumentID);

            // After filling an object
            t1            = new LMTeam();
            t1.ID         = t.ID;
            t1.DocumentID = t.ID.ToString();
            t1.IsChanged  = true;
            DocumentsSerializer.FillObject(t1, db);
            Assert.IsTrue(parser.ParseInternal(out parent, t1, Serializer.JsonSettings));
            Assert.IsTrue(parent.ParseTree(ref storables, ref changed));
            Assert.AreEqual(0, changed.Count);
        }
コード例 #4
0
        public void TestStartingPlayers()
        {
            LMTeam t = LMTeam.DefaultTemplate(15);

            t.FormationStr = "1-2-3-4";
            Assert.AreEqual(10, t.StartingPlayers);
            Assert.AreEqual(10, t.StartingPlayersList.Count);
            Assert.AreEqual(t.Players [0], t.StartingPlayersList [0]);
            Assert.AreEqual(t.Players [9], t.StartingPlayersList [9]);

            /* Players not playing are skipped */
            t.Players [0].Playing = false;
            Assert.AreEqual(t.Players [1], t.StartingPlayersList [0]);
            Assert.AreEqual(t.Players [10], t.StartingPlayersList [9]);

            /* Unless we are editing the team */
            t.TemplateEditorMode = true;
            Assert.AreEqual(t.Players [0], t.StartingPlayersList [0]);
            Assert.AreEqual(t.Players [9], t.StartingPlayersList [9]);
            t.TemplateEditorMode = false;

            /* If the list of playing players is smaller than the formation
             * the list of starting players is of the same size as the list
             * of playing players */
            for (int i = 0; i < 8; i++)
            {
                t.Players [i].Playing = false;
            }
            Assert.AreEqual(7, t.StartingPlayersList.Count);
            Assert.AreEqual(t.Players [8], t.StartingPlayersList [0]);
        }
コード例 #5
0
ファイル: TestViews.cs プロジェクト: tancio90/longomatch-core
        public void TestListTeams()
        {
            LMTeam t = LMTeam.DefaultTemplate(5);

            t.Name   = "Team1";
            t.Shield = Utils.LoadImageFromFile();
            storage.Store(t);

            List <Team> teams = storage.RetrieveAll <Team> ().ToList();

            Assert.AreEqual(1, teams.Count);
            Assert.AreEqual(t.ID, teams [0].ID);
            Assert.AreEqual(t.Name, teams [0].Name);
            Assert.IsNotNull(teams [0].Shield);
            Assert.IsTrue(teams.All(i => i.DocumentID != null));

            for (int i = 0; i < 5; i++)
            {
                var te = LMTeam.DefaultTemplate(5);
                te.Name = "Team" + (i + 2);
                storage.Store(te);
            }

            Assert.AreEqual(6, storage.RetrieveAll <Team> ().Count());
        }
コード例 #6
0
ファイル: TestStorage.cs プロジェクト: kuggaa/longomatch-core
        public void TestProject()
        {
            LMProject p = new LMProject();

            p.Dashboard = LMDashboard.DefaultTemplate(10);
            p.UpdateEventTypesAndTimers();
            p.LocalTeamTemplate   = LMTeam.DefaultTemplate(10);
            p.VisitorTeamTemplate = LMTeam.DefaultTemplate(12);
            MediaFile mf = new MediaFile("path", 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset");
            var pd = new ProjectDescription();

            pd.FileSet = new MediaFileSet();
            pd.FileSet.Add(mf);
            p.Description = pd;
            p.AddEvent(new LMTimelineEvent());

            storage.Store <LMProject> (p);
            Assert.AreEqual(45, db.DocumentCount);

            p = storage.RetrieveAll <LMProject> ().First();
            Assert.IsNotNull(p.DocumentID);
            p.Load();
            Assert.IsTrue(Object.ReferenceEquals(p.Description.FileSet, p.Timeline [0].FileSet));
            storage.Store(p);
            Assert.AreEqual(45, db.DocumentCount);

            storage.Delete(p);
            Assert.AreEqual(1, db.DocumentCount);
        }
コード例 #7
0
        public void TestCopyOverwrite()
        {
            TemplatesService ts = new TemplatesService(storage);

            ts.Start();
            ITeamTemplatesProvider teamtemplateprovider = ts.TeamTemplateProvider;
            LMTeam teamB = LMTeam.DefaultTemplate(5);

            teamB.Name          = "B";
            teamB.TeamName      = "Template B";
            teamB.FormationStr  = "1-4";
            teamB.List [0].Name = "Paco";
            teamtemplateprovider.Save(teamB);
            LMTeam teamA = new LMTeam();

            teamA.Name         = "A";
            teamA.TeamName     = "Template A";
            teamA.FormationStr = "1-4-3-3";
            teamtemplateprovider.Save(teamA);

            LMTeam auxdelete = teamA;

            teamtemplateprovider.Copy(teamB, "A");
            teamtemplateprovider.Delete(auxdelete);
            teamA = teamtemplateprovider.Templates [0] as LMTeam;

            Assert.AreEqual(4, teamtemplateprovider.Templates.Count);
            Assert.AreEqual("A", teamA.Name);
            Assert.AreEqual("Template B", teamA.TeamName);
            Assert.AreEqual(teamB.List.Count, teamA.List.Count);
            Assert.AreEqual("1-4", teamA.FormationStr);
            Assert.AreEqual("Paco", teamA.List [0].Name);
        }
コード例 #8
0
ファイル: TestStorage.cs プロジェクト: kuggaa/longomatch-core
        public void TestDeleteProjectItems()
        {
            LMProject p = new LMProject();

            p.Dashboard = LMDashboard.DefaultTemplate(10);
            p.UpdateEventTypesAndTimers();
            p.LocalTeamTemplate = LMTeam.DefaultTemplate(10);

            for (int i = 0; i < 10; i++)
            {
                LMTimelineEvent evt = new LMTimelineEvent {
                    EventType = p.EventTypes [i],
                    Start     = new Time(1000),
                    Stop      = new Time(2000),
                };
                p.Timeline.Add(evt);
            }

            storage.Store(p);
            p = storage.Retrieve <LMProject> (p.ID);

            // Removing this object should not remove the EvenType from the database, which might be referenced by
            // LMTimelineEvent's in the timeline
            EventType evtType = (p.Dashboard.List [0] as AnalysisEventButton).EventType;

            p.Dashboard.List.Remove(p.Dashboard.List [0]);
            storage.Store(p);
            Assert.DoesNotThrow(() => storage.Retrieve <LMProject> (p.ID));

            // Delete an event with a LMPlayer, a Team and an EventType, it should delete only the timeline event
            p.Timeline [0].Teams.Add(p.LocalTeamTemplate);
            p.Timeline [0].Players.Add(p.LocalTeamTemplate.List [0]);
            p.Timeline.Remove(p.Timeline [0]);
            Assert.DoesNotThrow(() => storage.Retrieve <LMProject> (p.ID));
        }
コード例 #9
0
        LMProject CreateProject(bool fill = true)
        {
            LMProject p = new LMProject();

            p.Dashboard = LMDashboard.DefaultTemplate(10);
            p.UpdateEventTypesAndTimers();
            p.LocalTeamTemplate   = LMTeam.DefaultTemplate(10);
            p.VisitorTeamTemplate = LMTeam.DefaultTemplate(12);
            MediaFile mf = new MediaFile("path", 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset");
            var pd = new ProjectDescription();

            pd.FileSet = new MediaFileSet();
            pd.FileSet.Add(mf);
            p.Description = pd;
            if (fill)
            {
                p.AddEvent(p.EventTypes [0], new Time(1000), new Time(2000), null, null);
                p.AddEvent(p.EventTypes [0], new Time(1000), new Time(2000), null, null);
                p.AddEvent(p.EventTypes [1], new Time(1000), new Time(2000), null, null);
                p.AddEvent(p.EventTypes [2], new Time(1000), new Time(2000), null, null);
                p.AddEvent(p.EventTypes [2], new Time(1000), new Time(2000), null, null);
                p.AddEvent(p.EventTypes [2], new Time(1000), new Time(2000), null, null);
                p.AddEvent(p.EventTypes [6], new Time(1000), new Time(2000), null, null);
            }

            return(p);
        }
コード例 #10
0
        public void TestCreateDefaultTemplate()
        {
            LMTeam t = LMTeam.DefaultTemplate(10);

            Assert.AreEqual(t.Players.Count, 10);
            t.AddDefaultItem(8);
            Assert.AreEqual(t.Players.Count, 11);
        }
コード例 #11
0
        //Specific LongoMatch objects
        public static LMProject CreateProject(bool withEvents = true)
        {
            LMTimelineEvent pl;
            LMProject       p = new LMProject();

            p.Dashboard         = LMDashboard.DefaultTemplate(10);
            p.LocalTeamTemplate = LMTeam.DefaultTemplate(5);
            p.LocalTeamTemplate.FormationStr   = "2-2";
            p.VisitorTeamTemplate              = LMTeam.DefaultTemplate(5);
            p.VisitorTeamTemplate.FormationStr = "2-2";
            var pd = new ProjectDescription();

            pd.FileSet = new MediaFileSet();
            pd.FileSet.Add(new MediaFile(Path.GetTempFileName(), 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset 1"));
            pd.FileSet.Add(new MediaFile(Path.GetTempFileName(), 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset 2"));
            p.Description = pd;
            p.UpdateEventTypesAndTimers();

            if (withEvents)
            {
                AnalysisEventButton b = p.Dashboard.List [0] as AnalysisEventButton;

                /* No tags, no players */
                pl = new LMTimelineEvent {
                    EventType = b.EventType,
                    Start     = new Time(0),
                    Stop      = new Time(100),
                    FileSet   = pd.FileSet
                };
                p.Timeline.Add(pl);
                /* tags, but no players */
                b  = p.Dashboard.List [1] as AnalysisEventButton;
                pl = new LMTimelineEvent {
                    EventType = b.EventType,
                    Start     = new Time(0),
                    Stop      = new Time(100),
                    FileSet   = pd.FileSet
                };
                pl.Tags.Add(b.AnalysisEventType.Tags [0]);
                p.Timeline.Add(pl);
                /* tags and players */
                b  = p.Dashboard.List [2] as AnalysisEventButton;
                pl = new LMTimelineEvent {
                    EventType = b.EventType,
                    Start     = new Time(0),
                    Stop      = new Time(100),
                    FileSet   = pd.FileSet
                };
                pl.Tags.Add(b.AnalysisEventType.Tags [1]);
                pl.Players.Add(p.LocalTeamTemplate.List [0]);
                p.Timeline.Add(pl);
            }

            return(p);
        }
コード例 #12
0
        public void TestResetPlayers()
        {
            LMTeam t = LMTeam.DefaultTemplate(10);

            for (int i = 0; i < 5; i++)
            {
                t.Players [0].Playing = false;
            }
            t.ResetPlayers();
            Assert.IsEmpty(t.Players.Where(p => !p.Playing));
        }
コード例 #13
0
        public void TestBenchPlayers()
        {
            LMTeam t = LMTeam.DefaultTemplate(15);

            t.FormationStr = "1-2-3-4";
            Assert.AreEqual(5, t.BenchPlayersList.Count);
            Assert.AreEqual(t.Players [10], t.BenchPlayersList [0]);
            Assert.AreEqual(t.Players [14], t.BenchPlayersList [4]);
            t.FormationStr = "10-2-3-4";
            Assert.AreEqual(0, t.BenchPlayersList.Count);
        }
コード例 #14
0
        public void SetUp()
        {
            controller = new LMTeamEditorController();
            var teamsManager = new TeamsManagerVM();

            teamsManager.LoadedTemplate.Model = LMTeam.DefaultTemplate(5);
            viewModel = teamsManager.TeamEditor;

            controller.SetViewModel(teamsManager);
            controller.Start();
        }
コード例 #15
0
        public void TestAddTeam()
        {
            service.Start();
            LMTeam team    = LMTeam.DefaultTemplate(1);
            string outPath = Path.Combine(tmpDir, "test" + Constants.TEAMS_TEMPLATE_EXT);

            App.Current.DependencyRegistry.Retrieve <IFileStorage>
                (InstanceType.Default, null).StoreAt(team, outPath);
            monitor.AddFile(outPath);
            teamsProviderMock.Verify(s => s.Add(team), Times.Once());
            Assert.IsFalse(File.Exists(outPath));
            service.Stop();
        }
コード例 #16
0
        public void TestCopy()
        {
            LMTeam team = LMTeam.DefaultTemplate(10);
            LMTeam copy = (LMTeam)team.Copy("newName");

            Assert.AreNotEqual(team.ID, copy.ID);
            for (int i = 0; i < team.List.Count; i++)
            {
                Assert.AreNotEqual(team.List [i].ID, copy.List [i].ID);
            }
            Assert.AreEqual("newName", copy.Name);
            Assert.AreNotEqual(team.Name, copy.Name);
        }
コード例 #17
0
ファイル: TestStorage.cs プロジェクト: kuggaa/longomatch-core
        public void TestTeam()
        {
            LMTeam team1 = LMTeam.DefaultTemplate(10);

            storage.Store <LMTeam> (team1);
            Assert.AreEqual(12, db.DocumentCount);
            LMTeam team2 = storage.Retrieve <LMTeam> (team1.ID);

            Assert.AreEqual(team1.ID, team2.ID);
            Assert.AreEqual(team1.List.Count, team2.List.Count);
            Assert.IsNotNull(team2.DocumentID);
            storage.Delete(team1);
            Assert.AreEqual(1, db.DocumentCount);
        }
コード例 #18
0
        public void OneTimeSetUp()
        {
            SetupClass.SetUp();
            Mock <IGUIToolkit> mockGuiToolkit = new Mock <IGUIToolkit> ();

            mockGuiToolkit.Setup(m => m.DeviceScaleFactor).Returns(1);
            App.Current.GUIToolkit = mockGuiToolkit.Object;
            eventsFilterController = new LMEventsFilterController();
            homeTeam = new LMTeamVM {
                Model = LMTeam.DefaultTemplate(2)
            };
            awayTeam = new LMTeamVM {
                Model = LMTeam.DefaultTemplate(3)
            };
        }
コード例 #19
0
ファイル: TestViews.cs プロジェクト: tancio90/longomatch-core
        public void TestLoadTeam()
        {
            LMTeam t = LMTeam.DefaultTemplate(5);

            t.Name   = "Team1";
            t.Shield = Utils.LoadImageFromFile();
            storage.Store(t);
            Team t1 = storage.Retrieve <Team> (new QueryFilter()).First();

            t1.IsLoaded = true;
            Utils.AreEquals(t, t1, false);
            t1.IsLoaded = false;
            Utils.AreEquals(t, t1);
            Assert.IsNotNull(t1.DocumentID);
        }
コード例 #20
0
        public void TestCreateDefaultTemplate()
        {
            // Arrrange
            mockPreview.Setup(p => p.CreatePreview(It.IsAny <LMTeam> ())).Returns(new Image(1, 1));

            // Act
            LMTeam t = LMTeam.DefaultTemplate(10);

            // Assert
            Assert.IsNull(t.Shield);
            Assert.IsNotNull(t.Preview);
            Assert.AreEqual(t.Players.Count, 10);
            t.AddDefaultItem(8);
            Assert.AreEqual(t.Players.Count, 11);
        }
コード例 #21
0
        public void TestFormation()
        {
            LMTeam t = LMTeam.DefaultTemplate(1);

            t.FormationStr = "1-2-3-4";
            Assert.AreEqual(t.Formation.Length, 4);
            Assert.AreEqual(t.Formation [0], 1);
            Assert.AreEqual(t.Formation [1], 2);
            Assert.AreEqual(t.Formation [2], 3);
            Assert.AreEqual(t.Formation [3], 4);
            Assert.Throws <FormatException> (
                delegate {
                t.FormationStr = "1;as";
            });
        }
コード例 #22
0
        public void CreateTeamPreview_ModelAvailable_ViewWellFilledForPreview()
        {
            // Arrange
            LMTeam team = LMTeam.DefaultTemplate(6);

            team.FormationStr = "1-2-1";

            mockDrawingToolkit.Setup(d => d.Copy(It.IsAny <ICanvas> (), It.IsAny <Area> ())).Returns(new Image(1, 1));

            // Act
            Image result = previewService.CreatePreview(team);

            // Assert
            Assert.IsNotNull(result);
            mockDrawingToolkit.Verify(d => d.Copy(It.Is <LMTeamTaggerView> (view => ValidateTaggerView(view)), It.IsAny <Area> ()), Times.Exactly(4));
        }
コード例 #23
0
ファイル: TestStorage.cs プロジェクト: kuggaa/longomatch-core
        public void TestSaveProjectWithEvents()
        {
            LMProject p = new LMProject();

            p.Dashboard = LMDashboard.DefaultTemplate(10);
            p.UpdateEventTypesAndTimers();
            p.LocalTeamTemplate   = LMTeam.DefaultTemplate(10);
            p.VisitorTeamTemplate = LMTeam.DefaultTemplate(12);
            MediaFile mf = new MediaFile("path", 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset");
            var pd = new ProjectDescription();

            pd.FileSet = new MediaFileSet();
            pd.FileSet.Add(mf);
            p.Description = pd;

            for (int i = 0; i < 10; i++)
            {
                LMTimelineEvent evt = new LMTimelineEvent {
                    EventType = p.EventTypes [i],
                    Start     = new Time(1000),
                    Stop      = new Time(2000),
                };
                evt.Players.Add(p.LocalTeamTemplate.Players [0]);
                p.Timeline.Add(evt);
            }

            storage.Store <LMProject> (p);
            Assert.AreEqual(54, db.DocumentCount);
            storage.Store <LMProject> (p);
            Assert.AreEqual(54, db.DocumentCount);

            LMProject p2 = storage.Retrieve <LMProject> (p.ID);

            Assert.AreEqual(p.Timeline.Count, p2.Timeline.Count);
            Assert.AreEqual(p2.LocalTeamTemplate.List [0], p2.Timeline [0].Players [0]);
            Assert.AreEqual((p2.Dashboard.List [0] as AnalysisEventButton).EventType,
                            p2.Timeline [0].EventType);
            Assert.IsNotNull(p2.DocumentID);

            storage.Delete(p);
            Assert.AreEqual(1, db.DocumentCount);
        }
コード例 #24
0
ファイル: TestQueries.cs プロジェクト: kuggaa/longomatch-core
        public void TestQueryTeams()
        {
            IEnumerable <Team> teams;

            for (int i = 0; i < 5; i++)
            {
                var da = LMTeam.DefaultTemplate(5);
                da.Name = "Team" + (i + 1);
                storage.Store(da);
            }

            QueryFilter filter = new QueryFilter();

            filter.Add("Name", "Team1");
            teams = storage.Retrieve <Team> (filter);
            Assert.AreEqual(1, teams.Count());
            Assert.AreEqual("Team1", teams.First().Name);

            filter.Add("Name", "Team1", "Team3");
            teams = storage.Retrieve <Team> (filter);
            Assert.AreEqual(2, teams.Count());
            Assert.IsTrue(teams.Any(d => d.Name == "Team1"));
            Assert.IsTrue(teams.Any(d => d.Name == "Team3"));

            filter = new QueryFilter();
            filter.Add("Name", "Pepe");
            teams = storage.Retrieve <Team> (filter);
            Assert.AreEqual(0, teams.Count());

            filter = new QueryFilter();
            filter.Add("Unkown", "Pepe");
            Assert.Throws <InvalidQueryException> (
                delegate {
                teams = storage.Retrieve <Team> (filter).ToList();
            });
            Assert.AreEqual(0, teams.Count());
        }
コード例 #25
0
        async Task SetUpState()
        {
            dynamic data      = new ExpandoObject();
            var     projectVM = new LMProjectVM {
                Model = new LMProject()
            };

            projectVM.Model.LocalTeamTemplate   = LMTeam.DefaultTemplate(10);
            projectVM.Model.VisitorTeamTemplate = LMTeam.DefaultTemplate(10);

            data.project  = projectVM;
            data.settings = new PlayEventEditionSettings();
            data.play     = new LMTimelineEventVM {
                Model = new LMTimelineEvent {
                    Name = "Event1"
                }
            };

            await state.LoadState(data);

            await state.ShowState();

            viewModel = state.ViewModel;
        }
コード例 #26
0
        //Specific LongoMatch objects
        public static LMProject CreateProject(bool withEvents = true, bool withLineupEvent = false)
        {
            LMTimelineEvent pl;
            LMProject       p = new LMProject();

            p.Dashboard         = LMDashboard.DefaultTemplate(10);
            p.LocalTeamTemplate = LMTeam.DefaultTemplate(5);
            p.LocalTeamTemplate.FormationStr   = "2-2";
            p.VisitorTeamTemplate              = LMTeam.DefaultTemplate(5);
            p.VisitorTeamTemplate.FormationStr = "2-2";
            var pd = new ProjectDescription();

            pd.FileSet = new MediaFileSet();
            pd.FileSet.Add(new MediaFile(Path.GetTempFileName(), 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset 1"));
            pd.FileSet.Add(new MediaFile(Path.GetTempFileName(), 34000, 25, true, true, "mp4", "h264",
                                         "aac", 320, 240, 1.3, null, "Test asset 2"));
            p.Description = pd;
            p.Periods.Replace(new RangeObservableCollection <Period> {
                new Period {
                    Name  = "First Period",
                    Nodes = new RangeObservableCollection <TimeNode> {
                        new TimeNode {
                            Start = new Time(10),
                            Stop  = new Time(50)
                        }
                    }
                },
                new Period {
                    Name  = "Second Period",
                    Nodes = new RangeObservableCollection <TimeNode> {
                        new TimeNode {
                            Start = new Time(50),
                            Stop  = new Time(90)
                        }
                    }
                },
            });
            p.UpdateEventTypesAndTimers();

            if (withLineupEvent)
            {
                p.CreateLineupEvent();
            }

            if (withEvents)
            {
                AnalysisEventButton b = p.Dashboard.List [0] as AnalysisEventButton;

                /* No tags, no players */
                pl = new LMTimelineEvent {
                    EventType = b.EventType,
                    Start     = new Time(0),
                    Stop      = new Time(50),
                    FileSet   = pd.FileSet
                };
                p.Timeline.Add(pl);
                /* tags, but no players */
                b  = p.Dashboard.List [1] as AnalysisEventButton;
                pl = new LMTimelineEvent {
                    EventType = b.EventType,
                    Start     = new Time(20),
                    Stop      = new Time(60),
                    FileSet   = pd.FileSet
                };
                pl.Tags.Add(b.AnalysisEventType.Tags [0]);
                p.Timeline.Add(pl);
                /* tags and players */
                b  = p.Dashboard.List [2] as AnalysisEventButton;
                pl = new LMTimelineEvent {
                    EventType = b.EventType,
                    Start     = new Time(70),
                    Stop      = new Time(100),
                    FileSet   = pd.FileSet
                };
                pl.Tags.Add(b.AnalysisEventType.Tags [1]);
                pl.Players.Add(p.LocalTeamTemplate.List [0]);
                p.Timeline.Add(pl);
            }

            return(p);
        }
コード例 #27
0
 protected override Team CreateDefaultTemplate(int count)
 {
     return(LMTeam.DefaultTemplate(count));
 }
コード例 #28
0
 public void TestVersion()
 {
     Assert.AreEqual(2, new LMTeam().Version);
     Assert.AreEqual(2, LMTeam.DefaultTemplate(1).Version);
 }