public function testSelect()
 {
     $model = new Kwf_Model_FnF();
     $model->setData(array(array('id' => 1, 'value' => 'foo'), array('id' => 2, 'value' => 'bar'), array('id' => 3, 'value' => 'baz'), array('id' => 4, 'value' => 'buz')));
     $this->assertEquals(count($model->getRows()), 4);
     $select = $model->select();
     $select->whereEquals('value', 'foo');
     $this->_assertIds($model, $select, array(1));
     $select = $model->select();
     $select->whereEquals('value', array('foo', 'baz'));
     $this->_assertIds($model, $select, array(1, 3));
     $this->assertEquals($model->countRows($select), 2);
 }
 public function testAdditionalStore()
 {
     $addStore = new Kwf_Model_FnF();
     $model = new Kwf_Model_Mail_Model_NoSend(array('tpl' => 'UserActivation', 'spamFields' => array(), 'additionalStore' => $addStore));
     $row = $model->createRow();
     $row->addTo('*****@*****.**');
     $row->setFrom('*****@*****.**', 'Kwf');
     $row->subject = 'foo sub';
     $row->foo = 'bar';
     $row->foo2 = 'bar2';
     // zweimal saven ist absicht, die additional row darf dennoch nur einmal angelegt werden
     $row->save();
     $row->save();
     $addRows = $addStore->getRows();
     $this->assertEquals(1, count($addRows));
     $addRow = $addRows->current();
     $this->assertEquals('bar', $addRow->foo);
     $this->assertEquals('bar2', $addRow->foo2);
     $this->assertEquals('foo sub', $addRow->subject);
 }
 public function testExprEqualExpr()
 {
     $model = new Kwf_Model_FnF(array('exprs' => array('test' => new Kwf_Model_Select_Expr_Equals('value', new Kwf_Model_Select_Expr_Field('value')))));
     $model->setData(array(array('id' => 1, 'value' => 10), array('id' => 2, 'value' => 20), array('id' => 3, 'value' => 30), array('id' => 4, 'value' => 40), array('id' => 5, 'value' => 50), array('id' => 6, 'value' => 60)));
     $this->assertTrue($model->getRow(1)->test);
     $rows = $model->getRows($model->select()->where(new Kwf_Model_Select_Expr_Equals('value', new Kwf_Model_Select_Expr_Field('value'))));
     $this->assertEquals(count($rows), $model->countRows());
 }
 public function testUnion()
 {
     $model = new Kwf_Model_FnF();
     $model->setData(array(array('id' => 1, 'value' => 'foo'), array('id' => 2, 'value' => 'bar')));
     $s1 = new Kwf_Model_Select();
     $s1->whereEquals('id', 1);
     $s2 = new Kwf_Model_Select();
     $s2->whereEquals('id', 2);
     $s1->union($s2);
     $this->assertEquals($model->countRows($s1), 2);
     $this->assertEquals(count($model->getRows($s1)), 2);
     $this->assertEquals(count($model->export(Kwf_Model_Interface::FORMAT_ARRAY, $s1)), 2);
 }
 public function getRows($where = null, $order = null, $limit = null, $start = null)
 {
     $this->getRowsCalled++;
     return parent::getRows($where, $order, $limit, $start);
 }