public static TMsg Message <TMsg>(this IWaitResults res, Predicate <TMsg> selector = null) where TMsg : class
        {
            var sel = selector ?? (m => true);
            var msg = res.All.OfType <TMsg>().FirstOrDefault(t => sel(t));

            return(msg ?? MessageWithMetadata(res, selector)?.Message);
        }
Exemple #2
0
        public void When_expect_more_than_one_messages()
        {
            var cmd = new CreateAndChangeSampleAggregateCommand(100, Guid.NewGuid());

            _results = GridNode.NewCommandWaiter(Timeout)
                       .Expect <SampleAggregateChangedEvent>(e => e.SourceId == cmd.AggregateId)
                       .And <SampleAggregateCreatedEvent>(e => e.SourceId == cmd.AggregateId)
                       .Create()
                       .Execute(cmd).Result;
        }
Exemple #3
0
        public void Given_command_executes_with_waiter_When_fetching_results()
        {
            _syncCommand = new LongOperationCommand(1000, Guid.NewGuid());


            _results = GridNode.NewCommandWaiter(Timeout)
                       .Expect <AggregateChangedEventNotification>(e => e.AggregateId == _syncCommand.AggregateId)
                       .Create()
                       .Execute(_syncCommand)
                       .Result;

            _changedEvent = _results.Message <AggregateChangedEventNotification>();

            _aggregate = LoadAggregate <SampleAggregate>(_syncCommand.AggregateId);
        }
Exemple #4
0
 public WaitEndInfo(IWaitResults results, object lastMessage)
 {
     Results     = results;
     LastMessage = lastMessage;
 }
        public static IMessageMetadataEnvelop <TMsg> MessageWithMetadata <TMsg>(this IWaitResults res, Predicate <TMsg> selector = null)
        {
            var sel = selector ?? (m => true);

            return(res.All.OfType <IMessageMetadataEnvelop <TMsg> >().FirstOrDefault(t => sel(t.Message)));
        }