/** * @dataProvider aspectKeyProvider */ public function testStripModifier($aspectKey, array $expectedParts) { $aspect = EntityUsage::stripModifier($aspectKey); $this->assertEquals($expectedParts[0], $aspect); }
/** * @param string[] $aspectKeys Array of aspect keys, with modifiers applied. * @param string[] $relevant Array of aspects (without modifiers). * @param array &$aspects Associative array of aspect keys (with modifiers) as keys, the values * being meaningless (a.k.a. HashSet). */ private function intersectAspectsIntoKeys(array $aspectKeys, array $relevant, array &$aspects) { $relevant = array_flip($relevant); foreach ($aspectKeys as $aspectKey) { $aspect = EntityUsage::stripModifier($aspectKey); if (array_key_exists($aspect, $relevant)) { $aspects[$aspectKey] = null; } } }