private Task <List <AdresListFilterStub> > MockedSanitizationTest(string straatnaam, string?huisNummer, string?index) { var promise = new TaskCompletionSource <List <AdresListFilterStub> >(); void SanitizeAction(int i) { var request = new AddressMatchRequest { Gemeentenaam = ExistingGemeentenaam, Straatnaam = straatnaam, Huisnummer = huisNummer, Index = index }; try { Log($"--------------------- TEST NR{i} ---------------------"); Log($"INPUT:\r\n-straatnaam : {straatnaam ?? "<null>"}\r\n-huisNummer : {huisNummer ?? "<null>"}\r\n-index : {index ?? "<null>"}"); _arrangeStraatnaam(straatnaam); var filters = new List <AdresListFilterStub>(); Latest.Arrange( Produce.EmptyList <AddressDetailItem>(), (when, x) => when.InterceptingLatestAdresQuery( (straatnaamid, huisnr, busnr) => filters.Add(new AdresListFilterStub { HuisnummerFilter = huisnr, BusnummerFilter = busnr }), x)); var _ = (OkObjectResult)Send(request).GetAwaiter().GetResult(); if (filters.Any()) { Log("RESULTS:"); filters.ForEach(result => Log($"\t***\r\n\tHuisNummer : {result.HuisnummerFilter ?? "<null>"}\r\n\tAppNummer : NOT IMPLEMENTED, WHAT TODO WITH APPNUMMER?\r\n\tBusNummer : {result.BusnummerFilter ?? "<null>"}")); } else { Log("NO RESULTS"); } promise.SetResult(filters); } catch (Exception e) { Log($"Exception\r\n{e}"); promise.SetException(e); } } _matchActions.Add(SanitizeAction); return(promise.Task); }