public async void Count_ValidRelativeGroupInterval_Success() { var client = new KeenClient(settingsEnv); var timeframe = QueryRelativeTimeframe.PreviousNDays(2); var interval = QueryInterval.EveryNHours(2); var groupby = "field1"; IEnumerable<QueryIntervalValue<IEnumerable<QueryGroupValue<int>>>> reply = new List<QueryIntervalValue<IEnumerable<QueryGroupValue<int>>>>() { new QueryIntervalValue<IEnumerable<QueryGroupValue<int>>>( new List<QueryGroupValue<int>>() { new QueryGroupValue<int>( 1, "field1" ), new QueryGroupValue<int>( 1, "field1" ), }, DateTime.Now, DateTime.Now.AddSeconds(2) ), new QueryIntervalValue<IEnumerable<QueryGroupValue<int>>>( new List<QueryGroupValue<int>>() { new QueryGroupValue<int>( 2, "field1" ), new QueryGroupValue<int>( 2, "field1" ), }, DateTime.Now, DateTime.Now.AddSeconds(2) ), }; Mock<IQueries> queryMock = null; if (UseMocks) { queryMock = new Mock<IQueries>(); queryMock.Setup(m => m.Metric<int>( It.Is<string>(me => me == "count"), It.Is<string>(c => c == testCol), It.Is<string>(p => p == "-"), It.Is<string>(g => g == groupby), It.Is<QueryTimeframe>(t => t == timeframe), It.Is<QueryInterval>(i => i == interval), It.Is<IEnumerable<QueryFilter>>(f => f == null), It.Is<string>(z => z == ""))) .Returns(Task.FromResult(reply)); client.Queries = queryMock.Object; } var count = await client.QueryCountIntervalGroupAsync(testCol, groupby, timeframe, interval); Assert.IsNotNull(count); if (null != queryMock) { queryMock.Verify(m => m.Metric<int>( It.Is<string>(me => me == "count"), It.Is<string>(c => c == testCol), It.Is<string>(p => p == "-"), It.Is<string>(g => g == groupby), It.Is<QueryTimeframe>(t => t == timeframe), It.Is<QueryInterval>(i => i == interval), It.Is<IEnumerable<QueryFilter>>(f => f == null), It.Is<string>(z => z == "")), Times.Once()); } }