コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }