public async void SaveDocumentsAsync_Passes_Documents_AsStrings_And_NewEditsFlag(bool newEdits) { //arrange. var docs = new JObject[] { JObject.FromObject(new { id = 123, name = "name 123" }), JObject.FromObject(new { id2 = 1232, name2 = "name 123 2" }) }; //act. await _sut.Object.SaveJsonDocumentsAsync(docs, newEdits); //assert. Predicate <string[]> areDocsFromJson = stringDocs => stringDocs.All(s => docs.Any(d => StringIsJsonObject(s, d))); _sut.Verify(db => db.SaveStringDocumentsAsync(It.Is <string[]>(strDocs => areDocsFromJson(strDocs)), newEdits), Times.Once); }