using System.Threading.Tasks;
public interface IAmConfused
public static void Main()
var mock = new Mock<IAmConfused>();
var act = () => obj.TheAnswer();
mock.Setup(x => x.TheAnswer()).Returns(42);
Console.WriteLine($"Expected 42 got {result}");
public record IDbConnection();
public async Task<T> WithConnection<T>(Func<IDbConnection, T> work, IDbConnection? providedConnection)
if (providedConnection is null)
return await work(providedConnection);
using var connection = _dbConnectionFactory.CreateConnection();
return await work(connection);