public void GetSchemeSettlementEntries_OnValidResponse_ReturnCount() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); var secrets = SpiClientTestUtils.SetTestSecrets(); const string jsonStr = @"{""message"":{""data"":{""accumulacxted_purchase_count"":""1"",""accumulated_purchase_value"":""1000"",""accumulated_settle_by_acquirer_count"":""1"",""accumulated_settle_by_acquirer_value"":""1000"",""accumulated_total_count"":""1"",""accumulated_total_value"":""1000"",""bank_date"":""14062019"",""bank_time"":""160940"",""host_response_code"":""941"",""host_response_text"":""CUTOVER COMPLETE"",""merchant_acquirer"":""EFTPOS FROM BANK SA"",""merchant_address"":""213 Miller Street"",""merchant_city"":""Sydney"",""merchant_country"":""Australia"",""merchant_name"":""Merchant4"",""merchant_postcode"":""2060"",""merchant_receipt"":""EFTPOS FROM BANK SA\r\nMerchant4\r\n213 Miller Street\r\nSydney 2060\r\n\r\nAustralia\r\n\r\n\r\n SETTLEMENT CUTOVER\r\nTSP 100612348842\r\nTIME 14JUN19 16:09\r\nTRAN 001137-001137\r\nFROM 13JUN19 20:00\r\nTO 14JUN19 16:09\r\n\r\nDebit\r\nTOT 0 $0.00\r\n\r\nMasterCard\r\nTOT 0 $0.00\r\n\r\nVisa\r\nPUR 1 $10.00\r\nTOT 1 $10.00\r\n\r\nBANKED 1 $10.00\r\n\r\nAmex\r\nTOT 0 $0.00\r\n\r\nDiners\r\nTOT 0 $0.00\r\n\r\nJCB\r\nTOT 0 $0.00\r\n\r\nUnionPay\r\nTOT 0 $0.00\r\n\r\nTOTAL\r\nPUR 1 $10.00\r\nTOT 1 $10.00\r\n\r\n (941) CUTOVER COMP\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"",""schemes"":[{""scheme_name"":""Debit"",""settle_by_acquirer"":""Yes"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""MasterCard"",""settle_by_acquirer"":""Yes"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""Visa"",""settle_by_acquirer"":""Yes"",""total_count"":""1"",""total_purchase_count"":""1"",""total_purchase_value"":""1000"",""total_value"":""1000""},{""scheme_name"":""Amex"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""Diners"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""JCB"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""UnionPay"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""}],""settlement_period_end_date"":""14Jun19"",""settlement_period_end_time"":""16:09"",""settlement_period_start_date"":""13Jun19"",""settlement_period_start_time"":""20:00"",""settlement_triggered_date"":""14Jun19"",""settlement_triggered_time"":""16:09:40"",""stan"":""000000"",""success"":true,""terminal_id"":""100612348842"",""transaction_range"":""001137-001137""},""datetime"":""2019-06-14T16:09:46.395"",""event"":""settle_response"",""id"":""settle116""}}"; // act var msg = Message.FromJson(jsonStr, secrets); transactionFlowState.Response = msg; var comWrapper = new ComWrapper(); var schemeArray = comWrapper.GetSchemeSettlementEntries(transactionFlowState); var settleResponse = new Settlement(transactionFlowState.Response); var schemes = settleResponse.GetSchemeSettlementEntries(); var schemeList = new List <SchemeSettlementEntry>(); foreach (var s in schemes) { schemeList.Add(s); } // assert Assert.Equal(schemeArray.ToList().Count, schemeList.Count); }