public void TestFilterOldEvents()
        {
            // create a profiler session and get some test events
            var profilerSession = new ProfilerSession();
            var allEvents       = ProfilerTestObjects.TestProfilerEvents;
            var profilerEvents  = ProfilerTestObjects.TestProfilerEvents;

            // filter all the results from the first poll
            // these events happened before the profiler began
            profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(profilerEvents.Count, 0);

            // add a new event
            var newEvent = new ProfilerEvent("new event", "1/1/2017");

            allEvents.Add(newEvent);

            // poll all events
            profilerEvents.AddRange(allEvents);

            // filtering should leave only the new event
            profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(profilerEvents.Count, 1);
            Assert.True(profilerEvents[0].Equals(newEvent));

            //poll again with no new events
            profilerEvents.AddRange(allEvents);

            // filter should now filter all the events since they've been seen before
            profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(profilerEvents.Count, 0);
        }
예제 #2
0
        public void TestFilterOldEvents()
        {
            // create a profiler session and get some test events
            var profilerSession = new ProfilerSession();
            var profilerEvents  = ProfilerTestObjects.TestProfilerEvents;

            // filter old events shouldn't filter any new events
            var newProfilerEvents = profilerSession.FilterOldEvents(profilerEvents);

            Assert.Equal(profilerEvents.Count, newProfilerEvents.Count);

            // filter should now filter all the events since they've been seen before
            newProfilerEvents = profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(newProfilerEvents.Count, 0);

            // add a new event
            var newEvent = new ProfilerEvent("new event", "1/1/2017");

            profilerEvents.Add(newEvent);

            // verify we only have the new event when reprocessing the event list
            newProfilerEvents = profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(newProfilerEvents.Count, 1);
            Assert.True(newProfilerEvents[0].Equals(newEvent));

            // process whole list again and verify nothing new is available
            newProfilerEvents = profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(newProfilerEvents.Count, 0);
        }
        public void TestEventsLost()
        {
            // create a profiler session and get some test events
            var profilerSession = new ProfilerSession();
            var profilerEvents  = ProfilerTestObjects.TestProfilerEvents;

            // filter all the results from the first poll
            // these events happened before the profiler began
            profilerSession.FilterOldEvents(profilerEvents);
            Assert.Equal(profilerEvents.Count, 0);
            // No events should be lost
            Assert.False(profilerSession.EventsLost);

            // test all events are overwritten, but no events are lost
            profilerEvents.Clear();
            ProfilerEvent newEvent = new ProfilerEvent("event4", "6/18/2018");

            newEvent.Values.Add("event_sequence", "4");

            profilerEvents.Add(newEvent);
            profilerSession.FilterOldEvents(profilerEvents);

            // should not show event loss
            Assert.False(profilerSession.EventsLost);

            // test all events are overwritten, and events are lost
            profilerEvents.Clear();
            newEvent = new ProfilerEvent("event7", "6/18/2018");
            newEvent.Values.Add("event_sequence", "7");

            profilerEvents.Add(newEvent);
            profilerSession.FilterOldEvents(profilerEvents);

            // should show event loss
            Assert.True(profilerSession.EventsLost);

            //poll again with previously seen events
            profilerEvents.Add(newEvent);

            // old events were seen, no event loss occured
            profilerSession.FilterOldEvents(profilerEvents);
            Assert.False(profilerSession.EventsLost);
        }