public void Validate_ExceptionOverload_Throws_When_Invalid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = null
        };

        // Act & Assert
        input.Invoking(x => x.Validate <ValidationException>())
        .Should().Throw <ValidationException>();
    }
    public void Validate_ExceptionOverload_Does_Not_Throw_When_Valid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = "Filled"
        };

        // Act & Assert
        input.Invoking(x => x.Validate <ValidationException>())
        .Should().NotThrow();
    }