public void AdapterConstructorTargetTest() { Distributions target1 = new Distributions(); Adapter target = new Adapter(target1); Adaptee adaptee = new Adaptee(); NormalDistribution normCdf = new NormalDistribution(0, 1); Func<double, double> expected = target1.NormCdf; Func<double, double> actual = target.NormCdf; Assert.AreNotEqual(expected(1), adaptee.NormCdf(1), "Should NOT be equal function behaviour."); Assert.AreEqual(expected(1), actual(1), "Should be equal function behaviour."); Assert.AreEqual( normCdf.CumulativeDistribution(1), actual(1), "Should be equal function behaviour."); Func<double, double> normCdf2 = arg => { arg = arg - 1; return arg; }; Assert.AreNotEqual(expected, normCdf2); }