Esempio n. 1
0
 public void TestIsChanged()
 {
     Utils.ProjectDummy p = new Utils.ProjectDummy();
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
     p.Dashboard = new Utils.DashboardDummy();
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
     p.Timeline.Add(new TimelineEvent());
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
     p.EventTypes.Add(new EventType());
     Assert.IsTrue(p.IsChanged);
     p.IsChanged  = false;
     p.EventTypes = null;
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
     p.Playlists.Add(new Playlist());
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
     p.Periods.Add(new Period());
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
     p.Timers.Add(new Timer());
     Assert.IsTrue(p.IsChanged);
     p.IsChanged = false;
 }
Esempio n. 2
0
        public void UpdateEventTypesAndTimers_NewProjectWithEventTypesAndTimers_ProjectWithoutEventInDashboardAndTimeline()
        {
            ///Arrange

            var targetProject = new Utils.ProjectDummy();

            targetProject.Timers.Clear();
            targetProject.EventTypes.Clear();
            AnalysisEventButton button = targetProject.Dashboard.List.OfType <AnalysisEventButton> ().First();

            targetProject.Timeline.Add(new TimelineEvent {
                EventType = button.EventType
            });
            targetProject.UpdateEventTypesAndTimers();

            ///Act

            targetProject.Dashboard.List.Remove(button);
            targetProject.Timeline.Clear();
            targetProject.UpdateEventTypesAndTimers();

            ///Assert

            Assert.IsNotNull(targetProject);
            Assert.AreEqual(1, targetProject.Timers.Count);
            Assert.AreEqual(4, targetProject.EventTypes.Count);
        }
Esempio n. 3
0
        public void TestProjectSetInTimelineEvents()
        {
            Utils.ProjectDummy p   = CreateProject();
            TimelineEvent      evt = new TimelineEvent();

            p.AddEvent(evt);
            Utils.ProjectDummy newp = Utils.SerializeDeserialize(p);
            Assert.AreEqual(newp, newp.Timeline [0].Project);
        }
Esempio n. 4
0
        public void TestClone_IsBindableBase_CloneProperty()
        {
            // Arrange
            Utils.DashboardDummy dashboard = new Utils.DashboardDummy();
            Utils.ProjectDummy   p         = new Utils.ProjectDummy();

            // Action
            p.Dashboard = dashboard.Clone();

            // Assert
            Assert.IsTrue(p.Dashboard.IsChanged);
        }
Esempio n. 5
0
        public void TestSerialization()
        {
            Utils.ProjectDummy p = new Utils.ProjectDummy();

            Utils.CheckSerialization(p);

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

            Utils.ProjectDummy newp = Utils.SerializeDeserialize(p);
            Assert.AreEqual(newp.CompareTo(p), 0);
            Assert.AreEqual(newp.Timeline.Count, p.Timeline.Count);
        }
Esempio n. 6
0
        public void Equals_NewProject_SerializedAndDeserializedProjectAreEqual()
        {
            ///Arrange
            ///
            var targetProject  = Utils.CreateProject() as Utils.ProjectDummy;;
            var anotherProject = new Utils.ProjectDummy();

            ///Act

            var serializedAndDeserializedProject = Utils.SerializeDeserialize(targetProject);

            ///Assert

            Assert.IsTrue(targetProject.Equals(serializedAndDeserializedProject));
            Assert.IsFalse(targetProject.Equals(anotherProject));
            Assert.IsFalse(serializedAndDeserializedProject.Equals(anotherProject));
        }
Esempio n. 7
0
        public void UpdateEventTypesAndTimers_NewProjectWithoutEvenTypesAndTimers_ProjectWithEventTypesAndTimersUpdated()
        {
            ///Arrange

            var targetProject = new Utils.ProjectDummy();

            targetProject.Timers.Clear();
            targetProject.EventTypes.Clear();

            ///Act

            targetProject.UpdateEventTypesAndTimers();

            ///Assert

            Assert.AreEqual(1, targetProject.Timers.Count);
            Assert.AreEqual(5, targetProject.EventTypes.Count);
        }
Esempio n. 8
0
        public void UpdateEventTypesAndTimers_ProjectWithEventTypesAndTimersUpdated_ProjectWithoutCategoryButtonUpdated()
        {
            ///Arrange

            var targetProject = new Utils.ProjectDummy();

            targetProject.UpdateEventTypesAndTimers();

            ///Act

            targetProject.Dashboard.List.Remove(targetProject.Dashboard.List.OfType <AnalysisEventButton> ().First());
            targetProject.UpdateEventTypesAndTimers();

            ///Assert

            Assert.IsNotNull(targetProject);
            Assert.AreEqual(1, targetProject.Timers.Count);
            Assert.AreEqual(4, targetProject.EventTypes.Count);
        }
Esempio n. 9
0
        public void TestRemoveEvents()
        {
            TimelineEvent        p1, p2, p3;
            List <TimelineEvent> plays = new List <TimelineEvent> ();

            Utils.ProjectDummy p = CreateProject(false);

            p1 = new TimelineEvent();
            p2 = new TimelineEvent();
            p3 = new TimelineEvent();
            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);
        }
Esempio n. 10
0
        Utils.ProjectDummy CreateProject(bool fill = true)
        {
            Utils.ProjectDummy p = new Utils.ProjectDummy();
            p.UpdateEventTypesAndTimers();

            /*
             * Requires a dashboard with DefaultTemplate
             *
             * 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);
        }
Esempio n. 11
0
        public void ResyncEvents_MovePeriodsOutsideCurrentOnes_AllEventsAppear()
        {
            // Arrange
            Utils.ProjectDummy p = CreateProject(false);
            int           offset1 = 10000, offset2 = 12000, offset3 = 15000;
            Period        period;
            List <Period> syncedPeriods;

            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(0),
                Stop  = new Time(3000)
            });
            p.Periods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(3001),
                Stop  = new Time(6000)
            });
            p.Periods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(6001),
                Stop  = new Time(6500)
            });
            p.Periods.Add(period);
            var oldPeriods = p.Periods.Clone();

            syncedPeriods = new List <Period> ();
            period        = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(0 + offset1),
                Stop  = new Time(3000 + offset1)
            });
            syncedPeriods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(3001 + offset2),
                Stop  = new Time(6000 + offset2)
            });
            syncedPeriods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(6001 + offset3),
                Stop  = new Time(6500 + offset3)
            });
            syncedPeriods.Add(period);

            /* 1st Period */
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(0)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(1500)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(3000)
            });
            /* 2nd Period */
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(3001)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(4500)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6000)
            });
            /* 3nd Period */
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6001)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6200)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6500)
            });

            IList <TimelineEvent> oldTimeline = p.Timeline.Clone();

            p.Periods.Replace(syncedPeriods);

            // Act
            p.ResyncEvents(oldPeriods);

            // Assert
            Assert.AreEqual(oldTimeline.Count, p.Timeline.Count);
            Assert.AreEqual(oldTimeline [0].EventTime + offset1, p.Timeline [0].EventTime);
            Assert.AreEqual(oldTimeline [1].EventTime + offset1, p.Timeline [1].EventTime);
            Assert.AreEqual(oldTimeline [2].EventTime + offset1, p.Timeline [2].EventTime);

            Assert.AreEqual(oldTimeline [3].EventTime + offset2, p.Timeline [3].EventTime);
            Assert.AreEqual(oldTimeline [4].EventTime + offset2, p.Timeline [4].EventTime);
            Assert.AreEqual(oldTimeline [5].EventTime + offset2, p.Timeline [5].EventTime);

            Assert.AreEqual(oldTimeline [6].EventTime + offset3, p.Timeline [6].EventTime);
            Assert.AreEqual(oldTimeline [7].EventTime + offset3, p.Timeline [7].EventTime);
            Assert.AreEqual(oldTimeline [8].EventTime + offset3, p.Timeline [8].EventTime);
        }
Esempio n. 12
0
        public void TestResyncEvents()
        {
            Utils.ProjectDummy p = CreateProject(false);
            int           offset1 = 100, offset2 = 120, offset3 = 150;
            Period        period;
            List <Period> syncedPeriods;

            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(0),
                Stop  = new Time(3000)
            });
            p.Periods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(3001),
                Stop  = new Time(6000)
            });
            p.Periods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(6001),
                Stop  = new Time(6500)
            });
            p.Periods.Add(period);
            var oldPeriods = p.Periods.Clone();

            /* Test with a list of periods that don't match */
            Assert.Throws <IndexOutOfRangeException> (
                delegate {
                p.ResyncEvents(new List <Period> ());
            });

            syncedPeriods = new List <Period> ();
            period        = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(0 + offset1),
                Stop  = new Time(3000 + offset1)
            });
            syncedPeriods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(3001 + offset2),
                Stop  = new Time(6000 + offset2)
            });
            syncedPeriods.Add(period);
            period = new Period();
            period.Nodes.Add(new TimeNode {
                Start = new Time(6001 + offset3),
                Stop  = new Time(6500 + offset3)
            });
            syncedPeriods.Add(period);

            /* 1st Period */
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(0)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(1500)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(3000)
            });
            /* 2nd Period */
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(3001)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(4500)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6000)
            });
            /* 3nd Period */
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6001)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6200)
            });
            p.Timeline.Add(new TimelineEvent {
                EventTime = new Time(6500)
            });

            IList <TimelineEvent> oldTimeline = p.Timeline.Clone();

            p.Periods.Replace(syncedPeriods);

            p.ResyncEvents(oldPeriods);
            Assert.AreEqual(oldTimeline [0].EventTime + offset1, p.Timeline [0].EventTime);
            Assert.AreEqual(oldTimeline [1].EventTime + offset1, p.Timeline [1].EventTime);
            Assert.AreEqual(oldTimeline [2].EventTime + offset1, p.Timeline [2].EventTime);

            Assert.AreEqual(oldTimeline [3].EventTime + offset2, p.Timeline [3].EventTime);
            Assert.AreEqual(oldTimeline [4].EventTime + offset2, p.Timeline [4].EventTime);
            Assert.AreEqual(oldTimeline [5].EventTime + offset2, p.Timeline [5].EventTime);

            Assert.AreEqual(oldTimeline [6].EventTime + offset3, p.Timeline [6].EventTime);
            Assert.AreEqual(oldTimeline [7].EventTime + offset3, p.Timeline [7].EventTime);
            Assert.AreEqual(oldTimeline [8].EventTime + offset3, p.Timeline [8].EventTime);
        }