public static IPropertyRuleBuilder<T, TProperty> IsNotEqual<T, TProperty>(
            this IPropertyRuleBuilder<T, TProperty> ruleBuilder, double compareValue, double comparisonTolerance)
            where T : class
        {
            var validationStep = new FloatEqualPropertyValidationStep<T, TProperty>(compareValue, comparisonTolerance, false);
            ruleBuilder.AddValidationStep(validationStep);

            return ruleBuilder;
        }
        public static IPropertyRuleBuilder<T, TProperty> IsEqual<T, TProperty>(
            this IPropertyRuleBuilder<T, TProperty> ruleBuilder, double compareValue)
            where T : class
        {
            var validationStep = new FloatEqualPropertyValidationStep<T, TProperty>(compareValue, 0.0001, true);
            ruleBuilder.AddValidationStep(validationStep);

            return ruleBuilder;
        }