Exemplo n.º 1
0
        public static int TryCalculateQueueLatencyMs(DateTime?eventOpening, DateTime?queueCreated)
        {
            long temp = IntervalCalculator.CalculateInterval(eventOpening, queueCreated);

            if (temp >= 0 && temp <= Int32.MaxValue)
            {
                return((int)temp);
            }
            return(-1);
        }
Exemplo n.º 2
0
        public void timemachine_should_calculate_totalminutes_from_time_interval()
        {
            _timeInterval = TimeSpan.Parse("01:00:45:00");
            IIntervalCalculator intervalCalculator = new IntervalCalculator();
            var    actual   = intervalCalculator.CalculateTimeIntervals(_timeInterval);
            double expected = 1485D;

            Assert.NotNull(actual);
            Assert.IsTrue(actual == expected);
        }
Exemplo n.º 3
0
        public void TestDuplicateFrames()
        {
            IEnumerable <IVocaloidFrame> frames = new List <IVocaloidFrame>
            {
                new VocaloidMotionFrame("test", 0)
            };
            var calculator = new IntervalCalculator(30)
            {
                Interval = 10m
            };
            FrameDuplicator d = new();

            IEnumerable <IVocaloidFrame> duplicatedFrames = d.Duplicate(frames, (uint)calculator.Interval);

            Assert.AreEqual((uint)0, frames.First().Frame);
            Assert.AreEqual((uint)10, duplicatedFrames.First().Frame);
        }
Exemplo n.º 4
0
        public async Task <IHttpActionResult> Countdown()
        {
            try
            {
                Event evnt = await _eventRepository.GetActiveAsync();

                if (null == evnt)
                {
                    return(NotFound());
                }

                return(this.OkNoCache(new EventCountdown
                {
                    Opening = evnt.Opening,
                    Countdown = Math.Max(0, IntervalCalculator.CalculateInterval(DateTime.Now, evnt.Opening))
                }));
            }
            catch (Exception ex)
            {
                _log.Error(ex, "An unexpected exception occurred while getting the countdown.");
                throw;
            }
        }
Exemplo n.º 5
0
        public void TestMultipleDuplicate()
        {
            IEnumerable <IVocaloidFrame> frames = new List <IVocaloidFrame>
            {
                new VocaloidMotionFrame("test", 0)
            };
            var calculator = new IntervalCalculator(30)
            {
                Interval = 3.3m
            };
            FrameDuplicator d = new();

            IEnumerable <IVocaloidFrame> duplicatedFrames = d.Duplicate(frames, calculator.Interval ?? 3.3m, 6);

            uint r(decimal value) => (uint)Math.Round(value);

            Assert.AreEqual((uint)0, frames.First().Frame);
            Assert.AreEqual(r(3.3m * 0), duplicatedFrames.ElementAt(0).Frame);
            Assert.AreEqual(r(3.3m * 1), duplicatedFrames.ElementAt(1).Frame);
            Assert.AreEqual(r(3.3m * 2), duplicatedFrames.ElementAt(2).Frame);
            Assert.AreEqual(r(3.3m * 3), duplicatedFrames.ElementAt(3).Frame);
            Assert.AreEqual(r(3.3m * 4), duplicatedFrames.ElementAt(4).Frame);
            Assert.AreEqual(r(3.3m * 5), duplicatedFrames.ElementAt(5).Frame);
        }
 public BookingCandidateResponse(Guid candidateId, int queueSize, Event evnt)
 {
     Id        = candidateId;
     QueueSize = queueSize;
     Countdown = Math.Max(0, IntervalCalculator.CalculateInterval(DateTime.Now, evnt.Opening));
 }