PSR-0 for namespace and filename + tests

This commit is contained in:
Trismegiste 2013-05-13 20:13:19 +02:00
parent 953fde0c4f
commit f040f8043d
2 changed files with 40 additions and 6 deletions

View File

@ -1,6 +1,6 @@
<?php
namespace DesignPatterns;
namespace DesignPatterns\FluentInterface;
/**
* fluent interface pattern
@ -52,9 +52,15 @@ class SQL
$this->_where[] = $condition;
return $this;
}
/**
* Gets the query, just an example of building a query,
* no check on consistency
*/
public function getQuery()
{
return 'SELECT ' . implode(',', $this->_fields)
. ' FROM ' . implode(',', $this->_from)
. ' WHERE ' . implode(' AND ', $this->_where);
}
}
$instance = new SQL();
$instance->select(array('foo', 'bar'))
->from('foobar', 'f')
->where('f.bar = ?');

View File

@ -0,0 +1,28 @@
<?php
/*
* DesignPatternPHP
*/
namespace DesignPatterns\Tests\FluentInterface;
use DesignPatterns\FluentInterface\SQL;
/**
* FluentInterfaceTest tests the fluent interface SQL
*/
class FluentInterfaceTest extends \PHPUnit_Framework_TestCase
{
public function testBuildSQL()
{
$instance = new SQL();
$query = $instance->select(array('foo', 'bar'))
->from('foobar', 'f')
->where('f.bar = ?')
->getQuery();
$this->assertEquals('SELECT foo,bar FROM foobar AS f WHERE f.bar = ?', $query);
}
}