public void SaveIconToReporting_Should_ExecuteQuery() { // Arrange var actualQueryExecute = string.Empty; IDictionary <string, object> actualParameters = new Dictionary <string, object>(); var list = new ShimSPList() { IDGet = () => DummyGuid, ParentWebGet = () => new ShimSPWeb() }; ShimGridGanttSettings.ConstructorSPList = (sender, listParam) => sender.ListIcon = DummyIcon; ShimQueryExecutor.ConstructorSPWeb = (sender, web) => new ShimQueryExecutor(); ShimQueryExecutor.AllInstances.ExecuteReportingDBNonQueryStringIDictionaryOfStringObject = (sender, query, parameters) => { actualQueryExecute = query; actualParameters = parameters; }; // Act ListCommands.SaveIconToReporting(list); // Assert this.ShouldSatisfyAllConditions( () => actualQueryExecute.ShouldBe(@"INSERT INTO ReportListIds (Id, ListIcon) VALUES (@Id, @Icon)"), () => actualParameters.Count.ShouldBe(2), () => actualParameters.ShouldContainKeyAndValue("@Id", DummyGuid), () => actualParameters.ShouldContainKeyAndValue("@Icon", DummyIcon)); }