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