public void TestRanges() { using (var store = GetDocumentStore()) { var baseline = DateTime.Today; var id = "users/1-A"; using (var session = store.OpenSession()) { session.Store(new User(), id); var tsf = session.TimeSeriesFor(id, "raven"); for (int i = 0; i <= 10; i++) { tsf.Append(baseline.AddMinutes(i), new[] { (double)i }, "watches/apple"); } for (int i = 12; i <= 13; i++) { tsf.Append(baseline.AddMinutes(i), new[] { (double)i }, "watches/apple"); } for (int i = 16; i <= 20; i++) { tsf.Append(baseline.AddMinutes(i), new[] { (double)i }, "watches/apple"); } session.SaveChanges(); } var rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(1), To = baseline.AddMinutes(7) } }; var re = store.GetRequestExecutor(); using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, int.MaxValue); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); } rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(8), To = baseline.AddMinutes(11) } }; using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, int.MaxValue); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); } rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(8), To = baseline.AddMinutes(17) } }; using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, int.MaxValue); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); } rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(14), To = baseline.AddMinutes(15) } }; using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, int.MaxValue); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); } rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(23), To = baseline.AddMinutes(25) } }; using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, int.MaxValue); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); } rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(20), To = baseline.AddMinutes(26) } }; using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, int.MaxValue); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); } } }
public void ResultsWithRangeAndStart() { using (var store = GetDocumentStore()) { var tag = "raven"; var id = "users/1"; var baseline = DateTime.Today; using (var session = store.OpenSession()) { session.Store(new User(), id); var tsf = session.TimeSeriesFor(id, tag); for (int i = 0; i <= 15; i++) { tsf.Append(baseline.AddMinutes(i), new[] { (double)i }, "watches/apple"); } session.SaveChanges(); } var rangesList = new List <TimeSeriesRange> { new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(0), To = baseline.AddMinutes(3) }, new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(4), To = baseline.AddMinutes(7) }, new TimeSeriesRange { Name = "raven", From = baseline.AddMinutes(8), To = baseline.AddMinutes(11) } }; var re = store.GetRequestExecutor(); using (re.ContextPool.AllocateOperationContext(out var context)) { var tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 0, 20); re.Execute(tsCommand, context); var res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(3, res.Values["raven"].Count); Assert.Equal(4, res.Values["raven"][0].Entries.Length); Assert.Equal(4, res.Values["raven"][1].Entries.Length); Assert.Equal(4, res.Values["raven"][2].Entries.Length); tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 3, 20); re.Execute(tsCommand, context); res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(3, res.Values["raven"].Count); Assert.Equal(1, res.Values["raven"][0].Entries.Length); Assert.Equal(4, res.Values["raven"][1].Entries.Length); Assert.Equal(4, res.Values["raven"][2].Entries.Length); tsCommand = new GetMultipleTimeSeriesOperation. GetMultipleTimeSeriesCommand(id, rangesList, 9, 20); re.Execute(tsCommand, context); res = tsCommand.Result; Assert.Equal(1, res.Values.Count); Assert.Equal(1, res.Values["raven"].Count); Assert.Equal(3, res.Values["raven"][0].Entries.Length); } } }