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);
        }
Exemple #2
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);
        }
Exemple #3
0
        public void TestRemoveEvents()
        {
            LMTimelineEvent        p1, p2, p3;
            List <LMTimelineEvent> plays = new List <LMTimelineEvent> ();
            LMProject p = CreateProject(false);

            p1 = new LMTimelineEvent();
            p2 = new LMTimelineEvent();
            p3 = new LMTimelineEvent();
            p.AddEvent(p1);
            p.AddEvent(p2);
            p.AddEvent(p3);
            plays.Add(p1);
            plays.Add(p2);
            p.RemoveEvents(plays);
            Assert.AreEqual(p.Timeline.Count, 1);
            Assert.AreEqual(p.Timeline [0], p3);
        }
Exemple #4
0
        public void TestProjectSetInTimelineEvents()
        {
            LMProject       p   = CreateProject();
            LMTimelineEvent evt = new LMTimelineEvent();

            p.AddEvent(evt);
            LMProject newp = Utils.SerializeDeserialize(p);

            Assert.AreEqual(newp, newp.Timeline [0].Project);
        }
Exemple #5
0
        public void TestAddEvent()
        {
            LMProject       p   = CreateProject(false);
            LMTimelineEvent evt = p.CreateEvent(p.EventTypes [0], new Time(1000), new Time(2000),
                                                null, null, 0) as LMTimelineEvent;

            Assert.AreEqual(p, evt.Project);

            Assert.AreEqual(p.Timeline.Count, 0);
            p.AddEvent(p.EventTypes [0], new Time(1000), new Time(2000), null, null);
            Assert.AreEqual(p.Timeline.Count, 1);
            p.AddEvent(p.EventTypes [0], new Time(1000), new Time(2000), null, null);
            Assert.AreEqual(p.Timeline.Count, 2);

            evt = new LMTimelineEvent();
            p.AddEvent(evt);
            Assert.AreEqual(p, evt.Project);
            Assert.AreEqual(p.Description.FileSet, evt.FileSet);
            Assert.AreEqual(p.Timeline.Count, 3);
            p.AddEvent(new LMTimelineEvent());
            Assert.AreEqual(p.Timeline.Count, 4);
            /*FIXME: add test for score event updating pd score */
        }
Exemple #6
0
        public void TestSerialization()
        {
            LMProject p = new LMProject();

            Utils.CheckSerialization(p);

            p = CreateProject();
            Utils.CheckSerialization(p);
            p.AddEvent(new LMTimelineEvent());
            Utils.CheckSerialization(p);

            LMProject newp = Utils.SerializeDeserialize(p);

            Assert.AreEqual(newp.CompareTo(p), 0);
            Assert.AreEqual(newp.Timeline.Count, p.Timeline.Count);
        }
        List <LMProject> CreateProjects()
        {
            LMPlayer andoni = new LMPlayer {
                Name = "Andoni"
            };
            LMPlayer jorge = new LMPlayer {
                Name = "Jorge"
            };
            LMPlayer victor = new LMPlayer {
                Name = "Victor"
            };
            LMPlayer josep = new LMPlayer {
                Name = "Josep"
            };
            LMPlayer davide = new LMPlayer {
                Name = "Davide"
            };
            LMPlayer saray = new LMPlayer {
                Name = "Saray"
            };
            LMPlayer ivan = new LMPlayer {
                Name = "Ivan"
            };
            LMPlayer adria = new LMPlayer {
                Name = "Adria"
            };
            LMTeam devteam = new LMTeam {
                Name = "DevTeam"
            };
            LMTeam qateam = new LMTeam {
                Name = "QA"
            };

            devteam.List.AddRange(new List <LMPlayer> {
                andoni,
                jorge,
                victor,
                josep,
                davide
            });
            qateam.List.AddRange(new List <LMPlayer> {
                saray,
                ivan,
                adria
            });
            LMDashboard dashbaord = LMDashboard.DefaultTemplate(5);
            var         projects  = new List <LMProject> ();

            for (int i = 0; i < 5; i++)
            {
                LMProject p = new LMProject();
                p.Dashboard           = dashbaord.Clone();
                p.LocalTeamTemplate   = devteam;
                p.VisitorTeamTemplate = qateam;
                p.Description         = new ProjectDescription();
                foreach (var player in devteam.List.Concat(qateam.List))
                {
                    foreach (var button in p.Dashboard.List.OfType <AnalysisEventButton> ())
                    {
                        LMTimelineEvent evt = p.AddEvent(button.EventType, new Time(0), new Time(10),
                                                         new Time(5), null) as LMTimelineEvent;
                        evt.Players.Add(player);
                        if (qateam.List.Contains(player))
                        {
                            evt.Teams.Add(qateam);
                        }
                        else
                        {
                            evt.Teams.Add(devteam);
                        }
                    }
                }
                projects.Add(p);
                storage.Store(p);
            }
            return(projects);
        }