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

            Conversion created = await client.CreateConversionAsync(conversion1);

            ConversionSplit split = await client.SplitConversionAsync(new Conversion
            {
                Id     = created.Id,
                Amount = 9370
            });

            Assert.AreEqual(split.ParentConversion.Id, created.Id);
            Assert.NotNull(split.ChildConversion.Id);
            Assert.NotNull(split.ParentConversion.ShortReference);
            Assert.NotNull(split.ChildConversion.ShortReference);
            Assert.AreEqual(split.ParentConversion.SellCurrency, created.SellCurrency);
            Assert.AreEqual(split.ParentConversion.BuyCurrency, created.BuyCurrency);
            Assert.AreEqual(split.ChildConversion.BuyCurrency, split.ParentConversion.BuyCurrency);
            Assert.AreEqual(split.ChildConversion.SellCurrency, split.ParentConversion.SellCurrency);
            Assert.AreEqual(split.ParentConversion.SettlementDate, split.ChildConversion.SettlementDate);
            Assert.AreEqual(split.ParentConversion.Status, split.ChildConversion.Status);
            Assert.AreEqual(created.ClientBuyAmount, split.ParentConversion.BuyAmount + split.ChildConversion.BuyAmount);
            Assert.AreEqual(created.ClientSellAmount, split.ParentConversion.SellAmount + split.ChildConversion.SellAmount);
        }
        public async Task SplitHistory()
        {
            player.Play("SplitHistory");
            var conversion1 = Conversions.Conversion1;

            Conversion created = await client.CreateConversionAsync(conversion1);

            ConversionSplit splitConversion = await client.SplitConversionAsync(new Conversion
            {
                Id     = created.Id,
                Amount = 9370
            });

            ConversionSplit splitChild = await client.SplitConversionAsync(new Conversion
            {
                Id     = splitConversion.ChildConversion.Id,
                Amount = 6951
            });

            ConversionSplitHistory splitHistoryParent = await client.SplitHistoryConversionAsync(new Conversion
            {
                Id = splitConversion.ParentConversion.Id
            });

            ConversionSplitHistory splitHistoryChildChild = await client.SplitHistoryConversionAsync(new Conversion
            {
                Id = splitChild.ChildConversion.Id
            });

            Assert.AreEqual(splitConversion.ParentConversion.Id, created.Id);
            Assert.AreEqual(splitChild.ParentConversion.Id, splitConversion.ChildConversion.Id);
            Assert.AreEqual(splitConversion.ChildConversion.BuyAmount, splitChild.ParentConversion.BuyAmount + splitChild.ChildConversion.BuyAmount);
            Assert.NotNull(splitHistoryParent.ParentConversion);
            Assert.Null(splitHistoryParent.OriginConversion);
            Assert.IsNotEmpty(splitHistoryParent.ChildConversions);
            Assert.NotNull(splitHistoryChildChild.ParentConversion);
            Assert.NotNull(splitHistoryChildChild.OriginConversion);
            Assert.IsEmpty(splitHistoryChildChild.ChildConversions);
            Assert.AreEqual(splitHistoryChildChild.OriginConversion.Id, splitHistoryParent.ParentConversion.Id);
        }