public void ObjectExtensions_fluent_evaluation_using_valid_graph_should_return_expected_value()
        {
            var expected = "street";
            var actual = "";

            var person = new Person()
            {
                Address = new Address()
                {
                    Street = expected
                }
            };

            actual = person.With( p => p.Address )
                .Return( a => a.Street )
                .Do( s => { } );

            actual.Should().Be.EqualTo( expected );
        }
        public void ObjectExtensions_fluent_evaluation_using_valid_graph_should_behave_as_expected()
        {
            var executed = false;

            var person = new Person()
            {
                Address = new Address()
                {
                    Street = "street"
                }
            };

            person.With( p => p.Address )
                .Return( a => a.Street )
                .Do( s => executed = true );

            executed.Should().Be.True();
        }