private void RegisterSourcedTypes <TSourced>()
        {
            var entryAdapterProvider = EntryAdapterProvider.Instance(_world);

            _sourcedTypeRegistry.Register(Vlingo.Xoom.Lattice.Model.Sourcing.Info.RegisterSourced <TSourced>(_journal));

            _sourcedTypeRegistry.Info <TSourced>()?
            .RegisterEntryAdapter(new ProcessMessageTextAdapter(),
                                  adapter => entryAdapterProvider.RegisterAdapter(adapter))
            .RegisterEntryAdapter(new DoStepOneAdapter(),
                                  adapter => entryAdapterProvider.RegisterAdapter(adapter))
            .RegisterEntryAdapter(new DoStepTwoAdapter(),
                                  adapter => entryAdapterProvider.RegisterAdapter(adapter))
            .RegisterEntryAdapter(new DoStepThreeAdapter(),
                                  adapter => entryAdapterProvider.RegisterAdapter(adapter))
            .RegisterEntryAdapter(new DoStepFourAdapter(),
                                  adapter => entryAdapterProvider.RegisterAdapter(adapter))
            .RegisterEntryAdapter(new DoStepFiveAdapter(),
                                  adapter => entryAdapterProvider.RegisterAdapter(adapter));
        }
Example #2
0
        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));
        }