public void GetSet_ShouldGetSameValue_Whenever()
        {
            // Act
            GetSetPair sut = new GetSetPair(null, Action);

            // Assert
            Assert.AreSame(Action, sut.Set);
        }
        public void GetGet_ShouldGetSameValue_Whenever()
        {
            // Act
            GetSetPair sut = new GetSetPair(Func, null);

            // Assert
            Assert.AreSame(Func, sut.Get);
        }
        public void Equals_ShouldReturnTrue_WhenSameInstance()
        {
            // Arrange
            GetSetPair sut = new GetSetPair(null, null);

            // Act
            bool actual = sut.Equals(sut);

            // Assert
            Assert.IsTrue(actual);
        }
        public void Equals_ShouldReturnFalse_WhenNullIsPassed()
        {
            // Arrange
            GetSetPair sut = new GetSetPair(null, null);

            // Act
            bool actual = sut.Equals(null);

            // Assert
            Assert.IsFalse(actual);
        }
        public void Equals_ShouldReturnTrue_WhenEqual()
        {
            // Arrange
            PropertyInfo prop = this.GetType().GetProperty(nameof(this.Property));

            GetSetPair sut  = new GetSetPair(Func, Action, prop);
            GetSetPair sut1 = new GetSetPair(Func, Action, prop);

            // Act
            bool actual = sut.Equals(sut1);

            // Assert
            Assert.IsTrue(actual);
        }
        public void Equals_ShouldReturnFalse_WhenNotEqual()
        {
            // Arrange
            PropertyInfo prop = this.GetType().GetProperty(nameof(this.Property));
            GetSetPair   sut  = new GetSetPair(Func, Action, prop);

            PropertyInfo prop1 = typeof(TestPerson).GetProperty(nameof(TestPerson.Name));
            GetSetPair   sut1  = new GetSetPair(Func, Action, prop1);

            // Act
            bool actual = sut.Equals(sut1);

            // Assert
            Assert.IsFalse(actual);
        }