public void CanProcessProcessStartedEvents() { Guid guid1 = Guid.NewGuid(); Guid guid2 = Guid.NewGuid(); Guid guid3 = Guid.NewGuid(); Guid processA = ProcessGuids.ProcessA; Guid processB = ProcessGuids.ProcessB; ProcessStarted startA1 = new ProcessStarted(guid1, processA); ProcessStarted startB1 = new ProcessStarted(guid2, processB); ProcessStarted startA2 = new ProcessStarted(guid3, processA); IRepository <ProcessTypeCount> repo = GetRepositoryForTest(); ProcessTypeCounterEventProcessor processor = new ProcessTypeCounterEventProcessor( repo ); processor.Handle(startA1); processor.Handle(startB1); processor.Handle(startA2); ProcessTypeCount counterA = repo.Get(processA.ToString()); Assert.IsNotNull(counterA); Assert.AreEqual(2, counterA.Count); ProcessTypeCount counterB = repo.Get(processB.ToString()); Assert.IsNotNull(counterB); Assert.AreEqual(1, counterB.Count); }
public void CanIncrementProcessTypeCounter() { Guid guid = ProcessGuids.ProcessA; ProcessTypeCount instance = new ProcessTypeCount(guid.ToString()); instance.Increment(); instance.Increment(); Assert.AreEqual(2, instance.Count); }
public void CanCreateInstanceOfProcessTypeCount() { Guid guid = ProcessGuids.ProcessA; ProcessTypeCount instance = new ProcessTypeCount(guid.ToString()); Assert.IsNotNull(instance); Assert.IsInstanceOf <Entity>(instance); Assert.AreEqual(guid.ToString(), instance.Id); Assert.AreEqual(0, instance.Count); }
public void Handle(ProcessStarted @event) { string id = ProcessTypeCount.GetIdFrom(@event.ProcessTypeId); ProcessTypeCount counter = GetOrCreateProcessTypeCountEntity(id); //execute change / update counter.Increment(); //save - persist? repository.Save(counter); }
private ProcessTypeCount GetOrCreateProcessTypeCountEntity(string id) { ProcessTypeCount counter = repository.Get(id); if (counter == null) { counter = new ProcessTypeCount(id); repository.Save(counter); } return(counter); }