Code Duplication    Length = 31-32 lines in 2 locations

src/Rules/Comparisons/NumericBetween.php 1 location

@@ 30-60 (lines=31) @@
27
/**
28
 * @package Limoncello\Validation
29
 */
30
final class NumericBetween extends BaseTwoValueComparision
31
{
32
    /**
33
     * @param mixed $lowerValue
34
     * @param mixed $upperValue
35
     */
36
    public function __construct($lowerValue, $upperValue)
37
    {
38
        assert(is_numeric($lowerValue) === true && is_numeric($upperValue) === true && $lowerValue <= $upperValue);
39
        parent::__construct(
40
            $lowerValue,
41
            $upperValue,
42
            ErrorCodes::NUMERIC_BETWEEN,
43
            Messages::NUMERIC_BETWEEN,
44
            [$lowerValue, $upperValue]
45
        );
46
    }
47
48
    /**
49
     * @inheritdoc
50
     */
51
    public static function compare($value, ContextInterface $context): bool
52
    {
53
        assert(is_numeric($value) === true);
54
        $result =
55
            is_numeric($value) === true &&
56
            static::readLowerValue($context) <= $value && $value <= static::readUpperValue($context);
57
58
        return $result;
59
    }
60
}
61

src/Rules/Comparisons/StringLengthBetween.php 1 location

@@ 32-63 (lines=32) @@
29
/**
30
 * @package Limoncello\Validation
31
 */
32
final class StringLengthBetween extends BaseTwoValueComparision
33
{
34
    /**
35
     * @param int $min
36
     * @param int $max
37
     */
38
    public function __construct($min, $max)
39
    {
40
        assert(is_scalar($min) === true && is_scalar($max) === true);
41
        parent::__construct(
42
            $min,
43
            $max,
44
            ErrorCodes::STRING_LENGTH_BETWEEN,
45
            Messages::STRING_LENGTH_BETWEEN,
46
            [$min, $max]
47
        );
48
    }
49
50
    /**
51
     * @inheritdoc
52
     */
53
    public static function compare($value, ContextInterface $context): bool
54
    {
55
        assert(is_string($value) === true);
56
        $result =
57
            is_string($value) === true &&
58
            static::readLowerValue($context) <= ($length = strlen($value)) &&
59
            $length <= static::readUpperValue($context);
60
61
        return $result;
62
    }
63
}
64