Gringotts.Domain.Venture.HandOutDividends C# (CSharp) Method

HandOutDividends() public method

public HandOutDividends ( Amount dividend ) : void
dividend Amount
return void
        public virtual void HandOutDividends(Amount dividend)
        {
            if (!IsStarted())
                throw new InvalidOperationException("Cannot hand out dividends for an un-started venture");
            holding.DistributeDividends(dividend);
        }

Usage Example

Esempio n. 1
0
        public void ShouldCreateDividendReceivedEventWhenDividendIsDeclared()
        {
            var initialBalance = new Amount(1000);
            var investor1 = new Investor(new Name("Inverstor 1"), initialBalance);

            var outlay = new Amount(400);
            var venture = new Venture(new Name("Ventura Inc."), outlay, new Amount(1));

            venture.AddOffer(investor1, outlay);

            venture.Start();
            var dividend = new Amount(1000);
            venture.HandOutDividends(dividend);

            BalanceHistory history = investor1.GetBalanceHistory();
            string dividendEvent = string.Format(BalanceEvent.DIVIDEND_RECEIVED, venture.Name);
            BalanceEvent balanceEvent = new BalanceEvent(dividendEvent, initialBalance - outlay + dividend);
            Assert.Contains(balanceEvent, history.GetEvents());
        }
All Usage Examples Of Gringotts.Domain.Venture::HandOutDividends