getMethod($name); $method->setAccessible(true); return $method->invokeArgs($object, $params); } // // Tests // public function testEncodeArrayValue() { $model = new ExampleExportModel; $data = ['foo', 'bar']; $result = self::callProtectedMethod($model, 'encodeArrayValue', [$data]); $this->assertEquals('foo|bar', $result); $data = ['dps | heals | tank', 'paladin', 'berserker', 'gunner']; $result = self::callProtectedMethod($model, 'encodeArrayValue', [$data]); $this->assertEquals('dps \| heals \| tank|paladin|berserker|gunner', $result); $data = ['art direction', 'roman empire', 'sci-fi']; $result = self::callProtectedMethod($model, 'encodeArrayValue', [$data, '-']); $this->assertEquals('art direction-roman empire-sci\-fi', $result); } }