public SourcedProcessTest(ITestOutputHelper output) { var converter = new Converter(output); Console.SetOut(converter); _world = World.StartWithDefaults("five-step-process-test"); var queue = new AsyncMessageQueue(null); _exchange = new LocalExchange(queue); _dispatcher = new MockJournalDispatcher(); _journal = new InMemoryJournal <string>(_dispatcher, _world); _sourcedTypeRegistry = new SourcedTypeRegistry(_world); RegisterSourcedTypes <FiveStepSendingSourcedProcess>(); RegisterSourcedTypes <FiveStepEmittingSourcedProcess>(); _exchangeReceivers = new ExchangeReceivers(); _exchangeSender = new LocalExchangeSender(queue); var processTypeRegistry = new ProcessTypeRegistry(_world); processTypeRegistry.Register(new SourcedProcessInfo <FiveStepSendingSourcedProcess, PorcessObjectState>(nameof(FiveStepSendingSourcedProcess), _exchange, _sourcedTypeRegistry)); processTypeRegistry.Register(new SourcedProcessInfo <FiveStepEmittingSourcedProcess, PorcessObjectState>(nameof(FiveStepEmittingSourcedProcess), _exchange, _sourcedTypeRegistry)); RegisterExchangeCoveys(); }
public EventSourcedTest(ITestOutputHelper output) { var converter = new Converter(output); Console.SetOut(converter); var testWorld = TestWorld.StartWithDefaults("test-es"); _world = testWorld.World; _dispatcher = new MockJournalDispatcher(); var entryAdapterProvider = EntryAdapterProvider.Instance(_world); entryAdapterProvider.RegisterAdapter(new Test1HappenedAdapter()); entryAdapterProvider.RegisterAdapter(new Test2HappenedAdapter()); entryAdapterProvider.RegisterAdapter(new Test3HappenedAdapter()); var journal = _world.ActorFor <IJournal <string> >(() => new InMemoryJournalActor <string>(_dispatcher)); var registry = new SourcedTypeRegistry(_world); registry.Register(Info.RegisterSourced <TestEventSourcedEntity>(journal)); registry.Register(Info.RegisterSourced <ProductEntity>(journal)); registry.Register(Info.RegisterSourced <ProductParent>(journal)); registry.Register(Info.RegisterSourced <ProductGrandparent>(journal)); _result = new Result(); _entity = _world.ActorFor <IEntity>(() => new TestEventSourcedEntity(_result)); }
public CommandSourcedTest(ITestOutputHelper output) { var converter = new Converter(output); Console.SetOut(converter); _world = World.StartWithDefaults("test-cs"); _dispatcher = new MockJournalDispatcher(); _journal = _world.ActorFor <IJournal <string> >(() => new InMemoryJournalActor <string>(_dispatcher)); _registry = new SourcedTypeRegistry(_world); _registry.Register(Info.RegisterSourced <TestCommandSourcedEntity>(_journal)); _registry.Info <TestCommandSourcedEntity>() ?.RegisterEntryAdapter(new DoCommand1Adapter()) .RegisterEntryAdapter(new DoCommand2Adapter()) .RegisterEntryAdapter(new DoCommand3Adapter()); _result = new Result(); _entity = _world.ActorFor <IEntity>(() => new TestCommandSourcedEntity(_result)); }
/// <summary> /// Construct my default state. /// </summary> /// <param name="processName">The name of the current process</param> /// <param name="exchange">The <see cref="IExchange"/></param> /// <param name="registry">The <see cref="SourcedTypeRegistry"/> used by the <see cref="SourcedProcess{T}"/></param> public SourcedProcessInfo(string processName, IExchange exchange, SourcedTypeRegistry registry) : base(typeof(TProcess), processName, exchange) => Registry = registry;