2 /* vim: set expandtab sw=4 ts=4 sts=4: */
4 * Test for PMA_Index class
6 * @package PhpMyAdmin-test
12 require_once 'libraries/Index.class.php';
15 * Test for PMA_Index class
17 * @package PhpMyAdmin-test
19 class PMA_Index_Test
extends PHPUnit_Framework_TestCase
21 private $_params = array();
24 * Configures parameters.
28 public function setup()
30 $this->_params
['Schema'] = "PMA_Schema";
31 $this->_params
['Table'] = "PMA_Table";
32 $this->_params
['Key_name'] = "PMA_Key_name";
33 $this->_params
['Index_type'] = "PMA_Index_type";
34 $this->_params
['Comment'] = "PMA_Comment";
35 $this->_params
['Index_comment'] = "PMA_Index_comment";
36 $this->_params
['Non_unique'] = "PMA_Non_unique";
37 $this->_params
['Packed'] = "PMA_Packed";
40 $column1 = array("Column_name"=>"column1","Seq_in_index"=>"index1",
41 "Collation"=>"Collation1","Cardinality"=>"Cardinality1",
44 $column2 = array("Column_name"=>"column2","Seq_in_index"=>"index2",
45 "Collation"=>"Collation2","Cardinality"=>"Cardinality2",
48 $column3 = array("Column_name"=>"column3","Seq_in_index"=>"index3",
49 "Collation"=>"Collation3","Cardinality"=>"Cardinality3",
52 $this->_params
['columns'][] = $column1;
53 $this->_params
['columns'][] = $column2;
54 $this->_params
['columns'][] = $column3;
58 * Test for Constructor
62 public function testConstructor()
64 $index = new PMA_Index($this->_params
);
83 $index->getNonUnique()
85 $this->assertContains(
89 $this->assertContains(
101 * Test for getIndexChoices
105 public function testGetIndexChoices()
107 $index_choices = PMA_Index
::getIndexChoices();
110 count($index_choices)
113 'PRIMARY,INDEX,UNIQUE,SPATIAL,FULLTEXT',
114 implode(",", $index_choices)
123 public function testIsUniquer()
125 $this->_params
['Non_unique'] = "0";
126 $index = new PMA_Index($this->_params
);
132 $index->isUnique(true)
137 * Test for add Columns
141 public function testAddColumns()
143 $index = new PMA_Index();
144 $index->addColumns($this->_params
['columns']);
145 $this->assertTrue($index->hasColumn("column1"));
146 $this->assertTrue($index->hasColumn("column2"));
147 $this->assertTrue($index->hasColumn("column3"));
150 $index->getColumnCount()
155 * Test for get Name & set Name
159 public function testName()
161 $index = new PMA_Index();
162 $index->setName('PMA_name');
170 * Test for PMA_Index_Column
174 public function testColumns()
176 $index = new PMA_Index();
177 $index->addColumns($this->_params
['columns']);
179 $index_columns = $index->getColumns();
180 $index_column = $index_columns['column1'];
183 $index_column->getName()
187 $index_column->getSeqInIndex()
191 $index_column->getCollation()
195 $index_column->getCardinality()