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"); }