Esempio n. 1
0
        public void StockAggregateQuotationsShouldAlwaysBeInitialized()
        {
            var aggregate = new StockAggregate();
            var snapshot  = aggregate.GetSnapshot() as StockAggregateSnapshot;

            snapshot.Quotations.Should().NotBeNull();
        }
Esempio n. 2
0
        public void StockAggregateQuotationShouldBeAdded()
        {
            var quotation = new Quotation(DateTime.Parse("2016-01-01 00:00:00"), DateTime.Now, 5, 10, 10, 5);

            var aggregate = new StockAggregate();

            aggregate.AddOrChangeQuotation(quotation);
            var snapshot = aggregate.GetSnapshot() as StockAggregateSnapshot;

            snapshot.Quotations.Should().NotBeNull();
            snapshot.Quotations.Should().HaveCount(1);
            snapshot.Quotations.FirstOrDefault().Open.Should().Be(5);
        }
Esempio n. 3
0
        public void StockAggregateQuotationsShouldBeUpdatedIfQuotationAlreadyExists()
        {
            var quotation    = new Quotation(DateTime.Parse("2016-01-01 00:00:00"), DateTime.Now, 5, 10, 10, 5);
            var quotationNew = new Quotation(DateTime.Parse("2016-01-01 00:00:00"), DateTime.Now.AddDays(1), 55, 10, 10, 5);

            var aggregate = new StockAggregate();

            aggregate.AddOrChangeQuotation(quotation);
            aggregate.AddOrChangeQuotation(quotationNew);
            var snapshot = aggregate.GetSnapshot() as StockAggregateSnapshot;

            snapshot.Quotations.Should().NotBeNull();
            snapshot.Quotations.Should().HaveCount(1);
            snapshot.Quotations.FirstOrDefault().Open.Should().Be(55);
        }