Exemplo n.º 1
0
 /**
  * Returns a model that have an alias and columns with attributes
  *
  * @return Model
  */
 public function getAnotherModel() : Model
 {
     $model = new ExampleModel();
     $model->setAlias('another_model');
     $id = new Column('id');
     $id->setAutomatic();
     $stock = new Column('stock');
     $stock->setAlias('product_stock')->addFilter(function ($column) {
         return (int) $column;
     });
     $product = new Column('product');
     $product->setAlias('product_name')->setDefault('My name');
     $add = new Column('add');
     $add->setAlias('date_added')->setDefault(new \DateTime())->addSetterFilter(function ($column) {
         return $column instanceof \DateTime ? $column : null;
     })->addGetterFilter(function ($column) {
         return empty($column) ? null : new \DateTime($column);
     });
     $model->addColumn($id);
     $model->addColumn($product);
     return $model;
 }
Exemplo n.º 2
0
 public function testCompliantId()
 {
     $model = new ExampleModel();
     $this->assertEquals('example', $model->getCompliantId('Example'));
     $this->assertEquals('example', $model->getCompliantId('example'));
     //$this->assertEquals('example', $model->getCompliantId('EXAMPLE'));
     $this->assertEquals('example_model', $model->getCompliantId('_ExampleModel'));
     //$this->assertEquals('example_model', $model->getCompliantId('Example_Model'));
     $this->assertEquals('ex4mpl3__m0d3l', $model->getCompliantId('Ex4mpl3_M0d3l'));
     $this->assertEquals('3xample_model', $model->getCompliantId('3xample_model'));
     // Exception
 }