public void SetPrivateFieldValue()
        {
            // Arrange
            var componentUnderTest = new SimplePoco();

            var expected = new SimplePoco(new DateTime(2000, 1, 1));

            // Act
            var actual = componentUnderTest.SetPrivateFieldValue("MyNullableDateTimeField", new DateTime(2000, 1, 1));

            // Assert
            componentUnderTest.ShouldHaveSameValueAs(expected);
            actual.ShouldHaveSameValueAs(expected);
        }
        public void GetAllFieldsWithoutAttribute()
        {
            // Arrange
            var type     = typeof(SimplePoco);
            var expected = new List <FieldInfo>
            {
                type.GetField("MyPublicField"),
                type.GetField("MyNullableDateTimeField", BindingFlags.Instance | BindingFlags.NonPublic)
            };

            // Act
            var actual = new SimplePoco().GetAllFieldsWithoutAttribute <SimpleAttribute>();

            // Assert
            actual.ShouldHaveSameValueAs(expected);
        }