atk4\data\tests\LimitOrderTest::testReverse PHP Method

testReverse() public method

public testReverse ( )
    public function testReverse()
    {
        $a = ['invoice' => [['total_net' => 10, 'total_vat' => 5], ['total_net' => 10, 'total_vat' => 4], ['total_net' => 15, 'total_vat' => 4]]];
        $this->setDB($a);
        $db = new Persistence_SQL($this->db->connection);
        $ii = (new Model($db, 'invoice'))->addFields(['total_net', 'total_vat']);
        $ii->addExpression('total_gross', '[total_net]+[total_vat]');
        $ii->getElement('id')->system = false;
        $i = clone $ii;
        $i->setOrder('total_net desc, total_gross desc');
        $i->onlyFields(['total_net', 'total_gross']);
        $this->assertEquals([['total_net' => 15, 'total_gross' => 19], ['total_net' => 10, 'total_gross' => 15], ['total_net' => 10, 'total_gross' => 14]], $i->export());
        $i = clone $ii;
        $i->setOrder('total_net desc, total_gross');
        $i->onlyFields(['total_net', 'total_gross']);
        $this->assertEquals([['total_net' => 15, 'total_gross' => 19], ['total_net' => 10, 'total_gross' => 14], ['total_net' => 10, 'total_gross' => 15]], $i->export());
        $i = clone $ii;
        $i->setOrder('total_net desc, total_gross');
        $i->onlyFields(['total_net', 'total_vat']);
        $this->assertEquals([['total_net' => 15, 'total_vat' => 4], ['total_net' => 10, 'total_vat' => 4], ['total_net' => 10, 'total_vat' => 5]], $i->export());
        $i = clone $ii;
        $i->setOrder('total_gross desc, total_net');
        $i->onlyFields(['total_net', 'total_vat']);
        $this->assertEquals([['total_net' => 15, 'total_vat' => 4], ['total_net' => 10, 'total_vat' => 5], ['total_net' => 10, 'total_vat' => 4]], $i->export());
    }