public void can_build_aggregation_step_for_an_event_apply_method() { Expression<Action<QuestPartyWithEvents, MembersJoined>> apply = (p, j) => p.Apply(new Event<MembersJoined>(j)); var joined = ReflectionHelper.GetMethod<QuestPartyWithEvents>(x => x.Apply(new Event<MembersJoined>(new MembersJoined()))); var joinedStep = new EventAggregationStep<QuestPartyWithEvents, MembersJoined>(joined); var party = new QuestPartyWithEvents(); var joinedEvent = new MembersJoined { Members = new[] { "Wolverine", "Cyclops", "Nightcrawler" } }; joinedStep.Apply(party, new Event<MembersJoined>(joinedEvent)); party.Members.ShouldHaveTheSameElementsAs(joinedEvent.Members); }
public void can_build_aggregation_step_for_an_event_apply_method() { Expression <Action <QuestPartyWithEvents, MembersJoined> > apply = (p, j) => p.Apply(new Event <MembersJoined>(j)); var joined = ReflectionHelper.GetMethod <QuestPartyWithEvents>(x => x.Apply(new Event <MembersJoined>(new MembersJoined()))); var joinedStep = new EventAggregationStep <QuestPartyWithEvents, MembersJoined>(joined); var party = new QuestPartyWithEvents(); var joinedEvent = new MembersJoined { Members = new[] { "Wolverine", "Cyclops", "Nightcrawler" } }; joinedStep.Apply(party, new Event <MembersJoined>(joinedEvent)); party.Members.ShouldHaveTheSameElementsAs(joinedEvent.Members); }