public void CountsEqualSetsCorrectly() { var commandEvent = new CommandEvent { CommandId = "Test" }; var documentEvent = new DocumentEvent { Action = DocumentAction.Saved }; var concurrentEvent = new ConcurrentEvent { ConcurrentEventList = new List <IDEEvent> { commandEvent, documentEvent } }; _uut.OnEvent(concurrentEvent); _uut.OnEvent(concurrentEvent); Assert.AreEqual( 2, _uut.Statistic[ Sets.NewHashSet( EventMappingUtils.GetAbstractStringOf(documentEvent), EventMappingUtils.GetAbstractStringOf(commandEvent))]); }
public void GenerateConcurrentEvent(IDEEvent @event) { if (@event is CommandEvent) { _commandEvent = @event as CommandEvent; } else if (_commandEvent != null) { var resultEvent = new ConcurrentEvent { ActiveDocument = @event.ActiveDocument, ActiveWindow = @event.ActiveWindow, Duration = @event.TerminatedAt - _commandEvent.TriggeredAt, ConcurrentEventList = new KaVEList <IDEEvent> { _commandEvent, @event }, IDESessionUUID = @event.IDESessionUUID, KaVEVersion = @event.KaVEVersion, TerminatedAt = @event.TerminatedAt, TriggeredAt = _commandEvent.TriggeredAt, TriggeredBy = _commandEvent.TriggeredBy }; _commandEvent = null; ReplaceCurrentEventWith(resultEvent); } DropCurrentEvent(); }
public void ShouldNotAddEmptySetToStatistic() { var concurrentEvent = new ConcurrentEvent(); _uut.OnEvent(concurrentEvent); CollectionAssert.IsEmpty(_uut.Statistic); }
public void OnlyGeneratesOneConcurrentEventForCommandAndFollowup() { var expectedCommandEvent = new CommandEvent(); var firstFollowupEvent = TestEventFactory.SomeEvent(); var secondFollowupEvent = TestEventFactory.SomeEvent(); var expectedConcurrentEvent = new ConcurrentEvent { ConcurrentEventList = new List <IDEEvent> { expectedCommandEvent, firstFollowupEvent } }; CollectionAssert.AreEquivalent(Sets.NewHashSet <IDEEvent>(), _uut.Map(expectedCommandEvent)); CollectionAssert.AreEquivalent(Sets.NewHashSet <IDEEvent>(expectedConcurrentEvent), _uut.Map(firstFollowupEvent)); CollectionAssert.AreEquivalent(Sets.NewHashSet <IDEEvent>(), _uut.Map(secondFollowupEvent)); }
public void HandleConcurrentEvents(ConcurrentEvent concurrentEvent) { var resultSet = Sets.NewHashSet <string>(); foreach (var ideEvent in concurrentEvent.ConcurrentEventList) { resultSet.Add(EventMappingUtils.GetAbstractStringOf(ideEvent)); } if (Statistic.ContainsKey(resultSet)) { Statistic[resultSet]++; } else { if (resultSet.Count > 0) { Statistic.Add(resultSet, 1); } } }