public void TestGetInterval() { var dt = DateTime.Now; var lim = new LamaIntervalTree(new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59), 3); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 2, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 3, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 3, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 4, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 4, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 5, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 2, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 8, 30, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 3, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 5, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 6, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 8, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 9, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 17, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 15, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 20, 0, 0)); lim.RebuildTree(); var intervalList = lim.GetIntervals(); Assert.AreEqual(4, intervalList.Count); }
public void TestRebuild() { var dt = DateTime.Now; var lim = new LamaIntervalTree(); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 2, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 3, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 3, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 4, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 4, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 5, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 2, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 8, 30, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 3, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 5, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 6, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 8, 0, 0)); lim.TryAdd(new DateTime(dt.Year, dt.Month, dt.Day, 9, 0, 0), new DateTime(dt.Year, dt.Month, dt.Day, 17, 0, 0)); lim.RebuildTree(); var tree = lim.GetFullTree; Assert.AreEqual(2, tree.Childs.Count); Assert.AreEqual(3, tree.Childs[0].Childs.Count); Assert.AreEqual(null, tree.Childs[1].Childs); Assert.AreEqual(2, tree.Childs[0].Childs[0].Childs.Count); Assert.AreEqual(null, tree.Childs[0].Childs[0].Childs[0].Childs); Assert.AreEqual(null, tree.Childs[0].Childs[0].Childs[1].Childs); }