public void ShouldIgnorePropertyWithSetterOnly()
        {
            var input  = new FunkyProperties();
            var result = Get(input, nameof(input.SetterOnly));

            Assert.That(result, Is.Null);
        }
        public void ShouldIgnorePropetyWithPrivateGetPublicSet()
        {
            var input  = new FunkyProperties();
            var result = Get(input, nameof(input.PrivateGetPublicSet));

            Assert.That(result, Is.Null);
        }
        public void ShouldGetPropetyWithPublicGetPrivateSet()
        {
            var input  = new FunkyProperties();
            var result = Get(input, nameof(input.PublicGetPrivateSetter));

            Assert.That(result, Is.EqualTo("original"));
        }
        public void ShouldGetPropetyWithGetterOnly()
        {
            var input  = new FunkyProperties();
            var result = Get(input, nameof(input.GetterOnly));

            Assert.That(result, Is.EqualTo(3.142));
        }
        public void ShouldIgnoreSetOnMethodCall()
        {
            var input = new FunkyProperties();

            TestAssignmentOnReferenceType(input, nameof(input.GetSetterOnlyValue), 78);

            Assert.That(input.GetSetterOnlyValue, Is.EqualTo(123));
        }
        public void ShouldIgnorePropertyWithGetterOnly()
        {
            var input = new FunkyProperties();

            TestAssignmentOnReferenceType(input, nameof(input.GetterOnly), 7.12);

            Assert.That(input.GetterOnly, Is.EqualTo(3.142));
        }
        public void ShouldIgnorePropetyWithPublicGetPrivateSetter()
        {
            var input = new FunkyProperties();

            TestAssignmentOnReferenceType(input, nameof(input.PublicGetPrivateSetter), "new");

            Assert.That(input.PublicGetPrivateSetter, Is.EqualTo("original"));
        }
        public void ShouldSetPropetyWithPublicSetterPrivateGetter()
        {
            var input = new FunkyProperties();

            TestAssignmentOnReferenceType(input, nameof(input.PrivateGetPublicSet), 'f');

            Assert.That(input.GetPrivateGetterValue(), Is.EqualTo('f'));
        }
        public void ShouldSetPropetyWithSetterOnly()
        {
            var input = new FunkyProperties();

            TestAssignmentOnReferenceType(input, nameof(input.SetterOnly), 789);

            Assert.That(input.GetSetterOnlyValue(), Is.EqualTo(789));
        }