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