public async Task TestShouldGetAndUpdateBill()
        {
            List <Item> items = new List <Item>();

            items.Add(new Item()
            {
                Price = 30.0, Quantity = 9, Description = "product-a"
            });
            items.Add(new Item()
            {
                Price = 14.0, Quantity = 16, Description = "product-b"
            });
            items.Add(new Item()
            {
                Price = 3.90, Quantity = 42, Description = "product-c"
            });
            items.Add(new Item()
            {
                Price = 6.99, Quantity = 12, Description = "product-d"
            });

            var bill = new Bill()
            {
                Number   = "6",
                Currency = Currency.USD,
                Email    = "", //email address mandatory
                Items    = items,
                Name     = "basicBill"
            };
            var basicBill = await _bitpay.CreateBill(bill);

            var retrievedBill = await _bitpay.GetBill(basicBill.Id);

            retrievedBill.Currency = Currency.EUR;
            retrievedBill.Name     = "updatedBill";
            retrievedBill.Items.Add(new Item()
            {
                Price = 60.0, Quantity = 7, Description = "product-added"
            });

            var updatedBill = await _bitpay.UpdateBill(retrievedBill, retrievedBill.Id);

            Assert.Equals(basicBill.Id, retrievedBill.Id);
            Assert.Equals(retrievedBill.Id, updatedBill.Id);
            Assert.Equals(updatedBill.Currency, Currency.EUR);
            Assert.Equals(updatedBill.Name, "updatedBill");
        }