Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Out and Ref parameters with FakeItEasy

I have a method that has an out parameter that returns a number of records. I would like to know how to mock it with FakeItEasy.

like image 682
Charles Ouellet Avatar asked Mar 30 '11 21:03

Charles Ouellet


1 Answers

You should use the .AssignsOutAndRefParameters configuration method:

[Test]
public void Output_and_reference_parameters_can_be_configured()
{
    var fake = A.Fake<IDictionary<string, string>>();
    string ignored = null;

    A.CallTo(() => fake.TryGetValue("test", out ignored))
        .Returns(true)
        .AssignsOutAndRefParameters("foo");

    // This would of course be within you SUT.
    string outputValue = null;
    fake.TryGetValue("test", out outputValue);

    Assert.That(outputValue, Is.EqualTo("foo"));
}
like image 143
Patrik Hägne Avatar answered Sep 25 '22 19:09

Patrik Hägne