Ejemplo n.º 1
0
 public TimelineSource(TuneDuration duration, int alignmentOfStart)
 {
     this._workingDuration = TimeSpan.FromSeconds(duration.Duration() >= 0 ? duration.Duration() : DefaultDuration);
     this.Beginning        = this.StartingPointAlignedToSecond(
         TimeSpan.FromSeconds(new FiniteDouble(duration.StartingPoint())),
         alignmentOfStart);
 }
        public EndRevealingTimeline(TuneDuration tuneDuration, TimeSpan firstMark, ZeroToOne end)
        {
            this._firstMark = firstMark;
            var duration = tuneDuration.Duration();

            this._tickDuration      = new TickDuration(duration);
            this._lastThirdMarkTs   = TimeSpan.FromSeconds(duration * end);
            this._lastThirdDuration = new TickDuration(duration - this._lastThirdMarkTs.TotalSeconds);
        }
        public void FactsAboutTheFullDuration()
        {
            var td = new TuneDuration(180);

            Assert.AreEqual(180d, td.Duration());
            Assert.AreEqual(180d, td.Remaining(0d));
            Assert.AreEqual(90d, td.Remaining(90d));
            Assert.IsTrue(td.Includes(0));
            Assert.IsTrue(td.Includes(new ZeroToOne(0)));
            Assert.IsTrue(td.Includes(1));
            Assert.IsTrue(td.Includes(new ZeroToOne(1)));
            Assert.AreEqual(0d, td.StartingPoint());
            Assert.AreEqual(0d, td.Progress(0d).Value());
            Assert.AreEqual(1d, td.Progress(180d).Value());
            Assert.AreEqual(0.5d, td.Progress(90d).Value());
            Assert.AreEqual(45d, td.ActualPosition(0.25d));
            Assert.AreEqual(0d, td.HiddenBefore(2450));
        }
        public void FactsAboutZoomedInDurationThatIncludesEnd()
        {
            var td = new TuneDuration(120, 180, 2.0);

            Assert.AreEqual(90d, td.Duration());
            Assert.AreEqual(90d, td.Remaining(90d));
            Assert.AreEqual(80, td.Remaining(100d));
            Assert.IsFalse(td.Includes(0));
            Assert.IsFalse(td.Includes(new ZeroToOne(0)));
            Assert.IsTrue(td.Includes(1));
            Assert.IsTrue(td.Includes(new ZeroToOne(1)));
            Assert.IsTrue(td.Includes(0.5));
            Assert.IsTrue(td.Includes(new ZeroToOne(0.5)));
            Assert.AreEqual(90d, td.StartingPoint());
            Assert.AreEqual(0d, td.Progress(0d).Value());
            Assert.AreEqual(0d, td.Progress(90d).Value());
            Assert.AreEqual(1d, td.Progress(180d).Value());
            Assert.AreEqual(135d, td.ActualPosition(0.5d));
            Assert.AreEqual(1225d, td.HiddenBefore(2450));
        }
 public ConstantTimeline(TuneDuration tuneDuration, TimeSpan firstMark)
 {
     this._firstMark    = firstMark;
     this._tickDuration = new TickDuration(tuneDuration.Duration());
 }