Pass lambda to parameterized NUnit test

You cannot immediately apply the TestCase attribute containing a lambda expression, i.e. the following test would be invalid:

[TestCase((a, b) => a + b)]
public void WillNotCompileTest(Func<double, double, double> func)
{
    Assert.GreaterOrEqual(func(1.0, 1.0), 1.0);
}

What you can do, however, is to use the TestCaseSource attribute together with an IEnumerable of your lambda expressions, like this:

[TestFixture]
public class TestClass
{
    private IEnumerable<Func<double, double, double>> testCases
    {
        get
        {
            yield return (a, b) => a + b;
            yield return (a, b) => a * b;
            yield return (a, b) => a / b;
        }
    }

    [TestCaseSource(nameof(testCases))]
    public void Test(Func<double, double, double> func)
    {
        Assert.GreaterOrEqual(func(1.0, 1.0), 1.0);
    }
}

You can pass exactly that:

MatrixOperatorOperandIsNullThrows((l,r) => l + r);