public void ListEventStatusCountSummaryItemsTest()
        {
            EventStatusCountSummaryItemCollection eventStatusCountSummaryItemCollection = GetEventStatusCountSummaryItemCollection();

            var response = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(eventStatusCountSummaryItemCollection.ToJson())
            };

            var handler = new RecordedDelegatingHandler(response)
            {
                StatusCodeToReturn = HttpStatusCode.OK
            };

            var startTime = DateTimeOffset.Parse("2014-03-11T01:00:00.00Z");
            var endTime   = DateTimeOffset.Parse("2014-03-11T02:00:00.00Z");

            var insightsClient = GetInsightsClient(handler);

            var filterString = FilterString.Generate <ListEventsParameters>(
                p => (p.EventTimestamp >= startTime) && (p.EventTimestamp < endTime));

            var actualEventStatusCountSummaryResponse = insightsClient.EventOperations.ListEventStatusCountSummaryItemsAsync(filterString).Result;

            AreEqual(eventStatusCountSummaryItemCollection, actualEventStatusCountSummaryResponse.EventStatusCountSummaryItemCollection);
        }
        private static void AreEqual(EventStatusCountSummaryItemCollection exp, EventStatusCountSummaryItemCollection act)
        {
            if (exp != null)
            {
                Assert.NotNull(act);
                Assert.Equal(exp.Value.Count, act.Value.Count);

                for (int i = 0; i < exp.Value.Count; i++)
                {
                    AreEqual(exp.Value[i], act.Value[i]);
                }
            }
        }