private void BuildNeighbors() { using (var status = StatusWrapper.NewStatus("Building Neighbors", this.Data.Count)) { var heap = new EasyHeapSmallFixedSize <NearestNeighbor>(HeapType.MinHeap, withTop, x => x.Distance); var rangeList = TimeCalculator.GetIndexRangeByTimeInterval(this.Data.Select(x => x.TimeTick).ToList(), Convert.ToInt64(kDisDiameter.TotalSeconds)); for (int i = 0; i < this.Data.Count; i++) { this.Data.GetRange(rangeList[i].Item1, rangeList[i].Item2 - rangeList[i].Item1) .ForEach(x => { var g = VectorPointHelper.GetDistance(this.Data[i], x, MathDistance); if (g > 0) { heap.Push(new NearestNeighbor { Distance = g, NeighborIndex = x.Id }); } }); this.Neighbors.Add(heap.GetList().ToList()); status.PushProgress(); } } }
public void AndEveryDayOfWeek() { // Arrange var friday = new DateTime(2018, 2, 16); var monday = new DateTime(2018, 2, 19); var sunday = new DateTime(2018, 2, 25); var calculator = new TimeCalculator(); var run = new OnceSet(calculator); // Act run.AndEvery(DayOfWeek.Sunday); var calculated = calculator.Calculate(friday); // Assert var expected = new DateTime(2018, 2, 18); Assert.AreEqual(expected, calculated); //Act calculated = calculator.Calculate(monday); // Assert expected = new DateTime(2018, 2, 25); Assert.AreEqual(expected, calculated); // Act calculated = calculator.Calculate(sunday); // Assert Assert.AreEqual(sunday, calculated); }
// Use this for initialization void Start() { // moving_manager = GetComponent<MovingManager>(); timer = GetComponent <TimeCalculator>(); arrive = GetComponent <Arrive>(); radius = 0.1f; pos = path.CalcPositionByClosestPoint(transform.position); }
public void EveryInterval() { var now = DateTime.Today; var calculator = new TimeCalculator(); var run = new OnceSet(calculator); // Act run.AndEvery(10).Seconds(); var calculated = calculator.Calculate(now); // Assert Assert.AreEqual(now.AddSeconds(10), calculated); }
public async Task <JsonResult> IsUserOnBreak() { try { var list = UserBreakModelUtility.FilterByCompanyID(CurrentUser.CompanyID, _userBreakTimeService.GetAll().Result.ToList()); list = UserBreakModelUtility.FilterByStartDateTime(GetCurrentTime(), list); list = UserBreakModelUtility.FilterByUserID(CurrentUser.ID, list); list = UserBreakModelUtility.FilterByIsFinished(false, list); var isOnBreak = list.FirstOrDefault(); if (isOnBreak != null) { var vm = UserBreakModelUtility.MToVM(isOnBreak); var timeDifference = TimeCalculator.SubtructTime(isOnBreak.StartDateTime.Value.TimeOfDay, GetCurrentTime().TimeOfDay); //data here is the difference of your break consumed return(Json(new { success = true, data = timeDifference, timeLimit = isOnBreak.BreakType.TimeLimit, type = isOnBreak.BreakType.id }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }