Beispiel #1
0
 /// <summary>
 /// Construct my default state.
 /// </summary>
 /// <param name="store">The instance of <see cref="IObjectStore"/></param>
 /// <param name="storeName">The name of the object store</param>
 /// <param name="queryObjectExpression">The <see cref="QueryExpression"/> used to retrieve a single instance</param>
 /// <param name="mapper">The persistent <see cref="StateObjectMapper"/> between Object type and persistent type</param>
 public Info(IObjectStore store, string storeName, QueryExpression queryObjectExpression, StateObjectMapper mapper)
 {
     Store                 = store;
     StoreName             = storeName;
     QueryObjectExpression = queryObjectExpression;
     Mapper                = mapper;
     StoreType             = typeof(TState);
 }
        public EmployeeEntityTest(ITestOutputHelper output)
        {
            var converter = new Converter(output);

            Console.SetOut(converter);

            _world = World.StartWithDefaults("test-object-entity");
            var objectStore = _world.ActorFor <IObjectStore>(typeof(InMemoryObjectStoreActor <string>), new MockDispatcher());

            var registry = new ObjectTypeRegistry(_world);

            // NOTE: The InMemoryObjectStoreActor implementation currently
            // does not use PersistentObjectMapper, and thus the no-op decl.
            var employeeInfo =
                new Info <EmployeeState>(
                    objectStore,
                    "HR-Database",
                    MapQueryExpression.Using <IEmployee>("find", MapQueryExpression.Map("number", "number")),
                    StateObjectMapper.With <IEmployee>(new object(), new object()));

            registry.Register(employeeInfo);
        }
        public ObjectProcessTest(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);
            var adapter = new ProcessMessageTextAdapter();

            EntryAdapterProvider.Instance(_world).RegisterAdapter(adapter);

            var dispatcher  = new MockDispatcher();
            var objectStore = _world.ActorFor <IObjectStore>(() => new InMemoryObjectStoreActor <string>(dispatcher));

            var objectTypeRegistry = new ObjectTypeRegistry(_world);

            var stepCountStateInfo =
                new Info <StepCountObjectState>(
                    objectStore,
                    nameof(StepCountObjectState),
                    MapQueryExpression.Using <StepCountObjectState>("find", MapQueryExpression.Map("id", "id")),
                    StateObjectMapper.With <StepCountObjectState>(new object(), new object()));

            objectTypeRegistry.Register(stepCountStateInfo);

            _exchangeSender = new LocalExchangeSender(queue);

            var processTypeRegistry = new ProcessTypeRegistry(_world);

            processTypeRegistry.Register(new ObjectProcessInfo <FiveStepEmittingObjectProcess, StepCountObjectState>(nameof(FiveStepEmittingObjectProcess), _exchange, objectTypeRegistry));

            _exchangeReceivers = new ExchangeReceivers();

            RegisterExchangeCoveys();
        }
 /// <inheritdoc />
 public void RegisterMapper(StateObjectMapper mapper)
 {
     //InMemory store does not require mappers
 }