public async Task ShouldReplicate() { var replicaStateHandler = new StateHolderEventHandler(); var replicaCleanerHandler = new CleanerEventHandler(); using (var replica = new FxPricingEngine(replicaStateHandler, replicaCleanerHandler)) { var ioHandler = new IOPersistanceEventHandler(); var stateHandler = new StateHolderEventHandler(); var cleanerHandler = new CleanerEventHandler(); var replicatorHandler = new ReplicatorEventHandler(replica); using (var engine = new FxPricingEngine(ioHandler, replicatorHandler, stateHandler, cleanerHandler)) { using (var publisher = new FxPricePublisher(engine)) { publisher.PublishOne(); await Task.Delay(100); Assert.AreEqual(replicaStateHandler.State.Count, stateHandler.State.Count); } } } }
public async Task ShouldTestOneEventPublish() { var ioHandler = new IOPersistanceEventHandler(); var stateHandler = new StateHolderEventHandler(); var cleanerHandler = new CleanerEventHandler(); using (var engine = new FxPricingEngine(ioHandler, stateHandler, cleanerHandler)) { using (var publisher = new FxPricePublisher(engine)) { publisher.PublishOne(); await Task.Delay(100); Assert.AreEqual(1, stateHandler.State.Count); Assert.AreEqual(1, ioHandler.WriteCount); } } }