public void FirstValue()
{
var objects = new[]
{
new TestObject(), new TestObject(),
new TestObject()
};
objects.FirstValue(x => x.Child).ShouldBeNull();
var theChild = new TestObject();
objects[1].Child = theChild;
objects[2].Child = new TestObject();
objects.FirstValue(x => x.Child).ShouldBeSameAs(theChild);
}