public void Does_not_invoke_action_when_value_null()
            {
                var actionInvoked = false;
                var convention    = new TypeConventionWithHaving <object, object>(
                    Enumerable.Empty <Func <Type, bool> >(),
                    t => null,
                    (c, v) => actionInvoked = true);
                var type          = typeof(object);
                var configuration = new ComplexTypeConfiguration(type);

                convention.Apply(type, () => configuration, new ModelConfiguration());

                Assert.False(actionInvoked);
            }
            public void Invokes_action_with_value_when_not_null()
            {
                var    actionInvoked = false;
                object capturedValue = null;
                var    value         = new object();
                var    convention    = new TypeConventionWithHaving <object, object>(
                    Enumerable.Empty <Func <Type, bool> >(),
                    t => value,
                    (c, v) =>
                {
                    actionInvoked = true;
                    capturedValue = v;
                });
                var type          = typeof(object);
                var configuration = new ModelConfiguration();

                convention.Apply(type, configuration);

                Assert.True(actionInvoked);
                Assert.Same(value, capturedValue);
            }