public static void ValidateParameterPassing(this MockService mockService, string httpMethod, object instance, string instancePath, OdcmMethod method, string serverMethodName, EntityArtifacts entityArtifacts) { var expectedMethodName = method.Name + "Async"; var methodArguments = method.GetSampleArguments().ToArray(); var uriArguments = method.UriParameters() .Select(p => methodArguments.First(a => a.Item1 == p.Name)); var bodyArguments = method.BodyParameters() .Select(p => methodArguments.First(a => a.Item1 == p.Name)); var responseBuilder = mockService .OnInvokeMethodRequest(httpMethod, instancePath + "/" + serverMethodName, uriArguments.ToTestReadableStringCollection(), ArgumentOfTupleExtensions.ToJObject(bodyArguments)); if (entityArtifacts == null) responseBuilder.RespondWith(r => r.Response.StatusCode = 200); else responseBuilder.RespondWithGetEntity(entityArtifacts.Class.GetDefaultEntitySetName(), entityArtifacts.Class.GetSampleJObject()); instance.InvokeMethod<Task>(expectedMethodName, methodArguments.Select(t => t.Item2).ToArray()) .Wait(); }