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());
}