public function testWhereNotEquals() { $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'))); /* $select = $model->select(); $select->whereNotEquals('value', 'foo'); $this->_assertIds($model, $select, array(2, 3, 4)); */ $select = $model->select(); $select->whereNotEquals('value', array('foo', 'baz')); $this->_assertIds($model, $select, array(2, 4)); // $this->assertEquals($model->countRows($select), 2); }
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 testSearchKeys() { Kwf_Debug::enable(); $fnf = new Kwf_Model_FnF(array('uniqueIdentifier' => 'unique')); $fnf->setData(array(array('id' => 1, 'en' => 'foo', 'de' => 'bar', 'sp' => 'blub'), array('id' => 2, 'en' => 'foo_', 'de' => 'bar', 'sp' => 'blub'), array('id' => 3, 'en' => 'foo', 'de' => '', 'sp' => 'blub'), array('id' => 4, 'en' => '', 'de' => '', 'sp' => ''), array('id' => 5, 'en' => null, 'de' => null, 'sp' => null), array('id' => 6, 'en' => 'foo', 'de' => 'bar', 'sp' => null), array('id' => 7, 'en' => '__', 'de' => '___', 'sp' => '____'), array('id' => 8, 'en' => null, 'de' => '___', 'sp' => '____'))); $proxy = new Kwf_Model_ProxyCache(array('proxyModel' => $fnf, 'cacheSettings' => array(array('index' => array('en', 'de', 'sp'), 'columns' => array())))); $proxy->clearCache(); $row = $proxy->getRow($proxy->select()->whereEquals('en', 'foo')->whereEquals('de', 'bar')->whereEquals('sp', 'blub')); $this->assertNotNull($row); $this->assertEquals(1, $row->id); $row = $proxy->getRow($proxy->select()->whereEquals('en', 'foo_')->whereEquals('de', 'bar')->whereEquals('sp', 'blub')); $this->assertNotNull($row); $this->assertEquals(2, $row->id); $row = $proxy->getRow($proxy->select()->whereEquals('en', 'foo')->whereEquals('de', '')->whereEquals('sp', 'blub')); $this->assertNotNull($row); $this->assertEquals(3, $row->id); $row = $proxy->getRow($proxy->select()->whereEquals('en', '')->whereEquals('de', '')->whereEquals('sp', '')); $this->assertNotNull($row); $this->assertEquals(4, $row->id); $row = $proxy->getRow($proxy->select()->whereNull('en')->whereNull('de')->whereNull('sp')); $this->assertNotNull($row); $this->assertEquals(5, $row->id); $row = $proxy->getRow($proxy->select()->whereEquals('en', 'foo')->whereEquals('de', 'bar')->whereNull('sp')); $this->assertNotNull($row); $this->assertEquals(6, $row->id); $row = $proxy->getRow($proxy->select()->whereEquals('sp', '____')->whereEquals('de', '___')->whereEquals('en', '__')); $this->assertNotNull($row); $this->assertEquals(7, $row->id); $row = $proxy->getRow($proxy->select()->whereNull('en')->whereEquals('de', '___')->whereEquals('sp', '____')); $this->assertNotNull($row); $this->assertEquals(8, $row->id); }
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 testUniqueRowObjectCreateRow() { $fnf = new Kwf_Model_FnF(); $fnf->setData(array(array('id' => 1, 'name' => 'foo'))); $proxy = new Kwf_Model_Proxy(array('proxyModel' => $fnf)); $r1 = $proxy->createRow(); $newId = $r1->save(); $this->assertEquals(2, $newId); $r2 = $proxy->getRow(2); $r1->name = 'foo1'; $this->assertEquals($r2->name, 'foo1'); $this->assertTrue($r1 === $r2); }