コード例 #1
0
        public void CreateDependencies()
        {
            var store        = new InMemoryStreamStore();
            var eventMapping = new EventMapping(new Dictionary <string, Type>
            {
                { "SomethingHappened", typeof(SomethingHappened) },
                { "SomethingElseHappened", typeof(SomethingElseHappened) },
            });
            var eventSerializer   = new EventSerializer(JsonConvert.SerializeObject);
            var eventDeserializer = new EventDeserializer(JsonConvert.DeserializeObject);

            _factRepository = new StreamStoreFactRepository(store, eventMapping, eventSerializer, eventDeserializer);

            _handlerFactory = (eventType, @event) =>
                              async(command) =>
                              (await store.AppendToStream(
                                   (command as DoSomething).Identifier,
                                   ExpectedVersion.Any,
                                   new NewStreamMessage(Guid.NewGuid(), eventType, eventSerializer.SerializeObject(@event)), CancellationToken.None)
                              ).CurrentPosition;
            _handlerResolver = new Mocking <IHandlerResolver, HandlerResolverSetup>();
        }