Using Lambdas instead of explicit private method.
BEFORE:
public void SayHelloWorld()
{
INameSource nameSource = mocks.CreateMock();
Expect.Call(nameSource.CreateName(null,null)).IgnoreArguments().
Do(new NameSourceDelegate(Formal));
mocks.ReplayAll();
string expected = "Hi, my name is Ayende Rahien";
string actual = new Speaker("Ayende", "Rahien", nameSource).Introduce();
Assert.AreEqual(expected, actual);
}
delegate string NameSourceDelegate(string first, string suranme);
private string Formal(string first, string surname)
{
return first + " " +surname;
}
AFTER:
public void SayHelloWorld()
{
....
Expect.Call(nameSource.CreateName(null,null)).IgnoreArguments().
Do( (NameSourceDelegate) ( (first, surname) => first + " " +surname) );
....
}
delegate string NameSourceDelegate(string first, string suranme);
// Function Formal() no longer needed