Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
11 / 11
ParserInteger
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
5
100.00% covered (success)
100.00%
11 / 11
 parse
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
9 / 9
 getParsedValue
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 getErrmsg
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
<?php
/**
 * @author: Doug Wilbourne (dougwilbourne@gmail.com)
 * @version 1.0
 */
namespace pvc\range\non_negative_integer;
use pvc\msg\Msg;
use pvc\msg\MsgRetrievalInterface;
use pvc\parser\ParserInterface;
use pvc\regex\numeric\RegexIntegerSimple;
/**
 * Class ParserInteger
 * @package pvc\range\non_negative_integer
 */
class ParserInteger implements ParserInterface
{
    protected int $parsedValue;
    protected ?Msg $errmsg;
    public function parse(string $data): bool
    {
        $regex = new RegexIntegerSimple();
        if ($regex->match($data)) {
            $this->parsedValue = $regex->getMatch(0);
            $this->errmsg = null;
            return true;
        } else {
            $msgText = 'value (%s) is not a simple integer.';
            $msgVars = [$data];
            $this->errmsg = new Msg($msgVars, $msgText);
            return false;
        }
    }
    public function getParsedValue()
    {
        return $this->parsedValue;
    }
    public function getErrmsg(): ?MsgRetrievalInterface
    {
        return $this->errmsg;
    }
}