public function testSetIndex() { $arg_list = array(); $arg_list[] = array('in' => array('foo', 'bar'), 'out' => array('foo' => '', 'bar' => '')); $arg_list[] = array('in' => array('foo', array('bar' => -1)), 'out' => array('foo' => '', 'bar' => -1)); $arg_list[] = array('in' => array(array('foo' => -1), array('bar' => 1)), 'out' => array('foo' => -1, 'bar' => 1)); $arg_list[] = array('in' => array(array('foo' => 1), 'bar'), 'out' => array('foo' => 1, 'bar' => '')); $arg_list[] = array('in' => array('foo'), 'out' => array('foo' => '')); $arg_list[] = array('in' => array(array('Foo' => -1)), 'out' => array('foo' => -1)); $arg_list[] = array('in' => array(array('foo' => '2d')), 'out' => array('foo' => '2d')); $arg_list[] = array('in' => array(array('foo' => 'some code or something else')), 'out' => array('foo' => 'some code or something else')); foreach ($arg_list as $key => $arg_map) { $index_name = sprintf('index%s', $key); $table = new MingoTable('tablename'); $ret = $table->setIndex($index_name, $arg_map['in']); $this->assertInstanceOf('MingoTable', $ret); $index = $table->getIndex($index_name)->getFields(); $this->assertSame($arg_map['out'], $index); } //foreach }