public void ShouldListAddressesUsingFilters() { IRestRequest savedRequest = null; mockClient.Setup(trc => trc.Execute<AddressResult>(It.IsAny<IRestRequest>())) .Callback<IRestRequest>((request) => savedRequest = request) .Returns(new AddressResult()); var client = mockClient.Object; var options = new AddressListRequest (); options.CustomerName = "Homer Simpson"; options.FriendlyName = Utilities.MakeRandomFriendlyName(); options.IsoCountry = "US"; options.Page = 1; options.PageSize = 10; client.ListAddresses(options); mockClient.Verify(trc => trc.Execute<AddressResult>(It.IsAny<IRestRequest>()), Times.Once); Assert.IsNotNull(savedRequest); Assert.AreEqual("Accounts/{AccountSid}/Addresses.json", savedRequest.Resource); Assert.AreEqual(Method.GET, savedRequest.Method); Assert.AreEqual(5, savedRequest.Parameters.Count); var customerNameParam = savedRequest.Parameters.Find(x => x.Name == "CustomerName"); Assert.IsNotNull(customerNameParam); Assert.AreEqual(options.CustomerName, customerNameParam.Value); var friendlyNameParam = savedRequest.Parameters.Find(x => x.Name == "FriendlyName"); Assert.IsNotNull(friendlyNameParam); Assert.AreEqual(options.FriendlyName, friendlyNameParam.Value); var isoCountryParam = savedRequest.Parameters.Find(x => x.Name == "IsoCountry"); Assert.IsNotNull(isoCountryParam); Assert.AreEqual(options.IsoCountry, isoCountryParam.Value); var pageParam = savedRequest.Parameters.Find(x => x.Name == "Page"); Assert.IsNotNull(pageParam); Assert.AreEqual(options.Page, pageParam.Value); var pageSizeParam = savedRequest.Parameters.Find(x => x.Name == "PageSize"); Assert.IsNotNull(pageSizeParam); Assert.AreEqual(options.PageSize, pageSizeParam.Value); }