public async Task EditDiagram() { var firstDiagram = SampleDiagram; itemsMocker.Setup(i => i.Find(It.Is <int>(id => id == firstDiagram.DbDiagramId))).Returns(firstDiagram); itemsMocker.Setup(i => i.Remove(It.Is <DbDiagram>(item => CompareSample(item, firstDiagram)))); itemsMocker.Setup(i => i.Add(It.Is <DbDiagram>(item => CompareSample(item, OtherSampleDiagram)))); testerMocker.Setup(c => c.TestTableSetup(It.Is <string>(q => OtherSampleDiagram.CreationQuery.Equals(q)))).ReturnsAsync("OK").Verifiable(); contextMocker.Setup(c => c.Diagrams).Returns(itemsMocker.Object); sut = new DiagramController(contextMocker.Object, testerMocker.Object); await sut.Edit(firstDiagram.DbDiagramId); await sut.Edit(OtherSampleDiagram); testerMocker.Verify(c => c.TestTableSetup(OtherSampleDiagram.CreationQuery), Times.Once); }