public void ApplySplitConsolidationAddedEvent()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stock = new Stock(Guid.NewGuid());

            stock.List("ABC", "ABC Pty Ltd", new Date(1974, 01, 01), false, AssetCategory.AustralianStocks);

            var events = mockRepository.Create <IEventList>();
            var corporateActionList = new CorporateActionList(stock, events.Object);

            var id     = Guid.NewGuid();
            var @event = new SplitConsolidationAddedEvent(stock.Id, 0, id, new Date(2000, 01, 01), "Test Split", 1, 2);

            corporateActionList.Apply(@event);

            corporateActionList.Should().SatisfyRespectively(

                first => first.Should().BeEquivalentTo(new
            {
                Id            = id,
                Stock         = stock,
                Date          = new Date(2000, 01, 01),
                Description   = "Test Split",
                OriginalUnits = 1,
                NewUnits      = 2
            })

                );

            mockRepository.Verify();
        }
Example #2
0
        public void AddSplitConsolidation(Guid id, Date recordDate, string description, int originalUnits, int newUnits)
        {
            if (description == "")
            {
                if (originalUnits <= newUnits)
                {
                    description = String.Format("{0} for {1} Stock Split", originalUnits, newUnits);
                }
                else
                {
                    description = String.Format("{0} for {1} Stock Comsolication", originalUnits, newUnits);
                }
            }

            var @event = new SplitConsolidationAddedEvent(_Stock.Id, _Stock.Version, id, recordDate, description, originalUnits, newUnits);

            Apply(@event);
            PublishEvent(@event);
        }
Example #3
0
        private CorporateAction CorporateActionFromEvent(SplitConsolidationAddedEvent @event)
        {
            var splitConsolidation = new SplitConsolidation(@event.ActionId, Stock, @event.ActionDate, @event.Description, @event.OriginalUnits, @event.NewUnits);

            return(splitConsolidation);
        }