public void ShouldReturnFalseForNonSimilarEventTimes() { var eventTime1 = DateTimeFactory.SomeWorkingHoursDateTime(); var eventTime2 = eventTime1.Add(ConcurrentEventHeuristic.EventTimeDifference + TimeSpan.FromTicks(1)); Assert.IsFalse(ConcurrentEventHeuristic.AreSimilar(eventTime1, eventTime2)); }
public void HaveSimiliarEventTimeTest() { var eventTime1 = DateTimeFactory.SomeWorkingHoursDateTime(); var eventTime2 = eventTime1.Add(ConcurrentEventHeuristic.EventTimeDifference); Assert.IsTrue(ConcurrentEventHeuristic.AreSimilar(eventTime1, eventTime2)); }
public void CalculateEquivalentPairs(CommandEvent commandEvent) { if (ConcurrentEventHeuristic.IsIgnorableTextControlCommand(commandEvent.CommandId)) { return; } if (_lastCommandEvent != null && ConcurrentEventHeuristic.AreConcurrent(_lastCommandEvent, commandEvent) && _lastCommandEvent.CommandId != commandEvent.CommandId) { if (_lastCommandEvent.TriggeredBy != EventTrigger.Unknown || commandEvent.TriggeredBy != EventTrigger.Unknown) { AddEquivalentCommandsToStatistic( _lastCommandEvent.CommandId, commandEvent.CommandId); } else { AddEquivalentCommandsToUnknownTriggerMappings( _lastCommandEvent.CommandId, commandEvent.CommandId); } } _lastCommandEvent = commandEvent; }
private void ProcessIDEEvent(IDEEvent @event) { var lastEvent = _eventCache.LastOrDefault(); if (lastEvent != null && !ConcurrentEventHeuristic.AreConcurrent(lastEvent, @event)) { if (_eventCache.Count > 1) { ReplaceCurrentEventWith(GenerateConcurrentEvent()); } _eventCache.Clear(); } _eventCache.Add(@event); }
public void FilterCommandEvents(CommandEvent commandEvent) { if (ConcurrentEventHeuristic.IsIgnorableTextControlCommand(commandEvent.CommandId)) { return; } var previousCommandEvent = _oldCommandEvent; _oldCommandEvent = commandEvent; if (IsDuplicate(commandEvent, previousCommandEvent)) { DropCurrentEvent(); } }
private static bool IsDuplicate(CommandEvent commandEvent, CommandEvent previousCommandEvent) { return(previousCommandEvent != null && previousCommandEvent.CommandId == commandEvent.CommandId && ConcurrentEventHeuristic.AreConcurrent(previousCommandEvent, commandEvent)); }
public void ShouldDetectIgnorableTextControlEvents(string commandId, bool expected) { Assert.AreEqual(expected, ConcurrentEventHeuristic.IsIgnorableTextControlCommand(commandId)); }