コード例 #1
0
        public void AddUncommittedEventsInOrder()
        {
            const int savingsTarget = 100;

            _sut.CreateSavingsAccount(_accountId, savingsTarget);

            _sut.AddSavings(50);
            _sut.SavingsTargetMet.Should().BeFalse();

            _sut.AddSavings(40);
            _sut.SavingsTargetMet.Should().BeFalse();

            _sut.AddSavings(20);
            _sut.SavingsTargetMet.Should().BeTrue();

            _sut.UncommittedEvents[0].Should().BeEquivalentTo(new SavingsAccountCreated(_accountId, savingsTarget));
            _sut.UncommittedEvents[1].Should().BeEquivalentTo(new SavingsAdded(50));
            _sut.UncommittedEvents[2].Should().BeEquivalentTo(new SavingsAdded(40));
            _sut.UncommittedEvents[3].Should().BeEquivalentTo(new SavingsAdded(20));
            _sut.UncommittedEvents[4].Should().BeEquivalentTo(new SavingsTargetMet(110));
        }