public void GetFieldInfoFromType_IdentityPropertyIsNullable_ShouldThrowException()
        {
            //Act
            Action act = () =>
                         _inspector.GetFieldInfoFromType(typeof(NullableIdTestClass));

            //Assert
            act
            .Should()
            .ThrowExactly <InvalidInputException>()
            .WithMessage(
                ClassInspector.InvalidInputExceptionNullableIdProperty("Id")
                );
        }
        public void GetFieldInfoFromType_UserSpecifiesIdentityPropertyAsNullable_ShouldThrowException()
        {
            //Assemble
            var idProperty = "NullableIntProperty";

            _userInputRepoMock
            .Setup(x => x.GetUserInput(ClassInspector.NoIdPropertyMessage))
            .Returns(idProperty);

            //Act
            Action act = () =>
                         _inspector.GetFieldInfoFromType(typeof(MissingIdTestClass));

            //Assert
            act.
            Should()
            .ThrowExactly <InvalidInputException>()
            .WithMessage(
                ClassInspector.InvalidInputExceptionNullableIdProperty(
                    idProperty
                    )
                );
        }