Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 23 |
| Grouped | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
56 | |
0.00% |
0 / 23 |
| __construct($normalizers = array()) | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 12 |
|||
| addNormalizer(NormalizerInterface $normalizer) | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 4 |
|||
| normalize(array $tokens) | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 7 |
|||
| <?php | |
| /** | |
| * This file is part of the Statistical Classifier package. | |
| * | |
| * (c) Cam Spiers <camspiers@gmail.com> | |
| * | |
| * For the full copyright and license information, please view the LICENSE | |
| * file that was distributed with this source code. | |
| */ | |
| namespace Camspiers\StatisticalClassifier\Normalizer\Token; | |
| use InvalidArgumentException; | |
| /** | |
| * @author Cam Spiers <camspiers@gmail.com> | |
| * @package Statistical Classifier | |
| */ | |
| class Grouped implements NormalizerInterface | |
| { | |
| /** | |
| * An array of normalizers to run | |
| * @var array | |
| */ | |
| protected $normalizers = array(); | |
| /** | |
| * Create the normalizer using an array or normalizers as input | |
| * @param mixed $normalizers | |
| * @throws \InvalidArgumentException | |
| */ | |
| public function __construct($normalizers = array()) | |
| { | |
| if (!is_array($normalizers)) { | |
| $normalizers = func_get_args(); | |
| } | |
| if (count($normalizers) === 0) { | |
| throw new InvalidArgumentException('A group of normalizers must contain at least one normalizer'); | |
| } | |
| foreach ($normalizers as $normalizer) { | |
| $this->addNormalizer($normalizer); | |
| } | |
| } | |
| /** | |
| * Add a normalizer to the group | |
| * @param NormalizerInterface $normalizer The normalizer | |
| */ | |
| public function addNormalizer(NormalizerInterface $normalizer) | |
| { | |
| $this->normalizers[] = $normalizer; | |
| } | |
| /** | |
| * @{inheritdoc} | |
| */ | |
| public function normalize(array $tokens) | |
| { | |
| foreach ($this->normalizers as $normalizer) { | |
| $tokens = $normalizer->normalize($tokens); | |
| } | |
| return $tokens; | |
| } | |
| } |