/** * @return array[] */ public function parseProvider() { //prepare provider values for all operators $provider = []; foreach (Operator::getNullableOperators() as $operator) { $provider[] = [$operator, [$operator, null]]; } $operators = array_merge(Operator::getEqualityOperators(), Operator::getOrderableOperators(), Operator::getLikeOperators()); foreach ($operators as $operator) { $value = (string) rand(0, 100); $provider[] = [sprintf('%s%s', $operator, $value), [$operator, $value]]; } return $provider; }
/** * Get operators * @param integer $classFlags * @return integer Operator class * @throws \Exception When invalid operator class flags are given */ public static function getByClassFlags($classFlags) { $operators = []; if (($classFlags & Operator::CLASS_COMPARABLE) !== 0) { $operators = array_merge($operators, Operator::getEqualityOperators()); } if (($classFlags & Operator::CLASS_ORDERABLE) !== 0) { $operators = array_merge($operators, Operator::getOrderableOperators()); } if (($classFlags & Operator::CLASS_NULLABLE) !== 0) { $operators = array_merge($operators, Operator::getNullableOperators()); } if (($classFlags & Operator::CLASS_LIKE) !== 0) { $operators = array_merge($operators, Operator::getLikeOperators()); } if (($classFlags & Operator::CLASS_IN_ARRAY) !== 0) { $operators = array_merge($operators, Operator::getInArrayOperators()); } if (empty($operators) && ($classFlags & Operator::CLASS_JSONOBJECT) === 0) { throw new \Exception('Invalid operator class flags'); } return array_unique($operators); }