public async Task DateChangeDetails()
        {
            player.Play("DateChangeDetails");
            var conversion1 = Conversions.Conversion1;

            Conversion created = await client.CreateConversionAsync(conversion1);

            DateTime             firstSettlementDate = DateTime.Parse("2018-02-02T12:34:56+00:00");
            ConversionDateChange firstDateChanged    = await client.DateChangeConversionAsync(new ConversionDateChange {
                ConversionId      = created.Id,
                NewSettlementDate = firstSettlementDate
            });

            DateTime             secondSettlementDate = DateTime.Parse("2018-03-05T12:34:56+00:00");
            ConversionDateChange secondDateChanged    = await client.DateChangeConversionAsync(new ConversionDateChange {
                ConversionId      = created.Id,
                NewSettlementDate = secondSettlementDate
            });

            ConversionDateChangeDetails dateChangeDetails = await client.DateChangeDetailsConversionAsync(new Conversion
            {
                Id = created.Id
            });

            Assert.AreEqual(firstDateChanged.ConversionId, created.Id);
            Assert.AreEqual(secondDateChanged.ConversionId, firstDateChanged.ConversionId);
            Assert.AreEqual(firstDateChanged.Currency, created.SellCurrency);
            Assert.AreEqual(secondDateChanged.Currency, firstDateChanged.Currency);
            Assert.NotNull(firstDateChanged.OldConversionDate);
            Assert.NotNull(firstDateChanged.OldSettlementDate);
            Assert.AreEqual(firstDateChanged.NewSettlementDate, firstSettlementDate);
            Assert.NotNull(firstDateChanged.NewConversionDate);
            Assert.AreEqual(secondDateChanged.NewSettlementDate, secondSettlementDate);
            Assert.AreEqual(secondDateChanged.OldConversionDate, firstDateChanged.NewConversionDate);
            Assert.AreEqual(secondDateChanged.OldSettlementDate, firstDateChanged.NewSettlementDate);
            Assert.NotNull(firstDateChanged.EventDateTime);
            Assert.NotNull(secondDateChanged.EventDateTime);
            Assert.AreEqual(dateChangeDetails.InitialValueDate, created.ConversionDate);
            Assert.AreEqual(dateChangeDetails.InitialDeliveryDate, created.SettlementDate);
            Assert.AreEqual(dateChangeDetails.CurrentValueDate, secondDateChanged.NewConversionDate);
            Assert.AreEqual(dateChangeDetails.CurrentDeliveryDate, secondDateChanged.NewSettlementDate);
            Assert.AreEqual(dateChangeDetails.FloatingCurrency, created.SellCurrency);

            decimal?profitLoss = 0;

            foreach (ConversionDateChangeDetails.DateChange element in dateChangeDetails.Changes)
            {
                profitLoss += element.ProfitAndLoss + (element.AdminFee ?? 0);
                Assert.NotNull(element.RequestedValueDate);
                Assert.NotNull(element.NewValueDate);
                Assert.NotNull(element.NewDeliveryDate);
                Assert.AreEqual(element.Type, "elected_roll");
                Assert.NotNull(element.Status);
            }

            Assert.AreEqual(dateChangeDetails.TotalProfitAndLoss, profitLoss);
        }
        public async Task DateChange()
        {
            player.Play("DateChange");
            var conversion1 = Conversions.Conversion1;

            Conversion created = await client.CreateConversionAsync(conversion1);

            DateTime             newSettlementDate = DateTime.Parse("2018-02-02T12:34:56+00:00");
            ConversionDateChange dateChanged       = await client.DateChangeConversionAsync(new ConversionDateChange {
                ConversionId      = created.Id,
                NewSettlementDate = newSettlementDate
            });

            Assert.AreEqual(dateChanged.ConversionId, created.Id);
            Assert.AreEqual(dateChanged.Currency, created.SellCurrency);
            Assert.NotZero((decimal)dateChanged.Amount);
            Assert.AreEqual(dateChanged.NewSettlementDate, newSettlementDate);
            Assert.NotNull(dateChanged.NewConversionDate);
            Assert.NotNull(dateChanged.OldConversionDate);
            Assert.NotNull(dateChanged.OldSettlementDate);
            Assert.NotNull(dateChanged.EventDateTime);
        }