public void describe_AsFunc() { it["Func<TR>"] = () => TR.AsFunc()().Should().Be(TR); it["Func<T1, TR>"] = () => A1.AsFunc(TR)(T).Should().Be(TR); it["Func<T1, TR>"] = () => ((Action)(() => A1Throw.AsFunc(TR)(T))).ShouldThrow(); it["Func<T1, T2, TR>"] = () => A2.AsFunc(TR)(T, T1).Should().Be(TR); it["Func<T1, T2, TR>"] = () => ((Action)(() => A2Throw.AsFunc(TR)(T, T1))).ShouldThrow(); it["Func<T1, T2, T3, TR>"] = () => A3.AsFunc(TR)(T, T1, T2).Should().Be(TR); it["Func<T1, T2, T3, TR>"] = () => ((Action)(() => A3Throw.AsFunc(TR)(T, T1, T2))).ShouldThrow(); it["Func<T1, T2, T3, T4, TR>"] = () => A4.AsFunc(TR)(T, T1, T2, T3).Should().Be(TR); it["Func<T1, T2, T3, T4, TR>"] = () => ((Action)(() => A4Throw.AsFunc(TR)(T, T1, T2, T3))).ShouldThrow(); }