public void AggregatorMachine_Shipment_Moves_Aggregating() { var machine = new AggregatorMachine(); IEvent e = new ShipmentEvent { Data = "world!" }; machine.MoveNext(e); Assert.Equal(AggregatorState.Aggregating, machine.CurrentState); }
public void AggregatorMachine_OnHand_Shipment_Moves_Aggregating() { var machine = new AggregatorMachine(); IEvent onHandEvent = new OnHandEvent { Data = "Hello " }; IEvent shipmentEvent = new ShipmentEvent { Data = "world!" }; machine.MoveNext(onHandEvent); machine.MoveNext(shipmentEvent); Assert.Equal(AggregatorState.Resolved, machine.CurrentState); }
public ShipmentTransactionBuilder Event(string eventTypeCode) { var dbShpimentEvent = new ShipmentEvent() { ShipmentTransaction = m_shipmentTransaction, EventTypeCode = eventTypeCode, EventDateTimeUtc = m_utcNow, ProcessingStatusCode = EventProcessingStatusCodes.Pending, ProcessingStatusDateTimeUtc = m_utcNow }; m_shipmentTransaction.ShipmentEvents.Add(dbShpimentEvent); return(this); }
public void AggregatorMachine_Resolve_Moves_From_Resolved_Error() { var machine = new AggregatorMachine(); IEvent onHandEvent = new OnHandEvent { Data = "Hello " }; IEvent shipmentEvent = new ShipmentEvent { Data = "world!" }; IEvent resolveEvent = new ResolveEvent { Data = "Hello world?" }; machine.MoveNext(onHandEvent); machine.MoveNext(shipmentEvent); Assert.Throws <Exception>(() => machine.MoveNext(resolveEvent)); }