public void UpdateBinanceFills_ShouldReturnFills_WhenFillsExists() { //Arrange _httpMessageHandlerMock .Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.Is <HttpRequestMessage>(x => x.RequestUri.AbsoluteUri.Contains("/api/v1/time")), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { StatusCode = HttpStatusCode.OK, Content = new StringContent( @"{""serverTime"":1592395836992}") })) .Verifiable(); _httpMessageHandlerMock .Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.Is <HttpRequestMessage>(x => x.RequestUri.AbsoluteUri.Contains("/api/v3/myTrades?")), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { StatusCode = HttpStatusCode.OK, Content = new StringContent( @"[{ ""symbol"": ""BNBBTC"", ""id"": 28457, ""orderId"": 100234, ""orderListId"": -1, ""price"": ""4.00000100"", ""qty"": ""12.00000000"", ""quoteQty"": ""48.000012"", ""commission"": ""10.10000000"", ""commissionAsset"": ""BNB"", ""time"": 1499865549590, ""isBuyer"": true, ""isMaker"": false, ""isBestMatch"": true }]") })) .Verifiable(); HttpClient httpClient = new HttpClient(_httpMessageHandlerMock.Object); _connectionAdapter.HttpClient = httpClient; Binance subjectUnderTest = new Binance { ConnectionAdapter = _connectionAdapter }; Product product = new Product { ID = "BNBBTC" }; //Act subjectUnderTest.UpdateFillsAsync(product).Wait(); //Assert Assert.IsNotNull(subjectUnderTest.BinanceFill); Assert.AreEqual(1, subjectUnderTest.BinanceFill.Count); Assert.AreEqual(product.ID, subjectUnderTest.BinanceFill[0].ID); }