RequireOnceItopFile('core/metamodel.class.php'); } /** * @covers MetaModel::CheckUniquenessRuleValidity * @dataProvider uniquenessRuleValidityCheckProvider * * @param bool $bIsRuleShouldBeValid * @param bool $bIsRuleOverride * @param array $aRuleProperties */ public function testUniquenessRuleValidityCheck($bIsRuleShouldBeValid, $bIsRuleOverride, $aRuleProperties) { $bRuleValidResult = true; try { MetaModel::CheckUniquenessRuleValidity($aRuleProperties, $bIsRuleOverride); } catch (CoreUnexpectedValue $e) { $bRuleValidResult = false; } $this->assertEquals($bIsRuleShouldBeValid, $bRuleValidResult, "Validity test returned $bRuleValidResult"); } public function uniquenessRuleValidityCheckProvider() { return array( 'simplest rule' => array(true, false, array('attributes' => array('name'))), 'with all properties' => array( true, false, array( 'attributes' => array('name'), 'filter' => 'name != \'\'', 'disabled' => false, 'is_blocking' => true, ), ), 'only disabled key without ancestor' => array( false, false, array( 'disabled' => true, ), ), 'only disabled key with ancestor' => array( true, true, array( 'disabled' => true, ), ), ); } }