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); }
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); }
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); }
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; } }
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)); }