diff --git a/Search/AbstractSearch.php b/Search/AbstractSearch.php
index b39b20dc8..6a26ac494 100644
--- a/Search/AbstractSearch.php
+++ b/Search/AbstractSearch.php
@@ -22,6 +22,7 @@
namespace Chill\MainBundle\Search;
use Chill\MainBundle\Search\SearchInterface;
+use Chill\MainBundle\Search\ParsingException;
/**
* This class implements abstract search with most common responses.
@@ -34,5 +35,21 @@ use Chill\MainBundle\Search\SearchInterface;
*/
abstract class AbstractSearch implements SearchInterface
{
-
+ /**
+ *
+ * @param type $string
+ * @return \DateTime
+ * @throws ParsingException if the date is not parseable
+ */
+ public function parseDate($string)
+ {
+ try {
+ return new \DateTime($string);
+ } catch (ParsingException $ex) {
+ $exception = new ParsingException('The date is '
+ . 'not parsable', 0, $ex);
+ throw $exception;
+ }
+
+ }
}
\ No newline at end of file
diff --git a/Tests/Search/AbstractSearchTest.php b/Tests/Search/AbstractSearchTest.php
new file mode 100644
index 000000000..0e4c4e2bd
--- /dev/null
+++ b/Tests/Search/AbstractSearchTest.php
@@ -0,0 +1,58 @@
+
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+namespace Chill\MainBundle\Tests\Search;
+
+/**
+ * Description of AbstractSearch
+ *
+ * @author Julien Fastré
+ */
+class AbstractSearchTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var Ab
+ * @var type
+ * @var typestractS
+ */
+ private $stub;
+
+ public function setUp()
+ {
+ $this->stub = $this->getMockForAbstractClass('Chill\MainBundle\Search\AbstractSearch',
+ array(),
+ '',
+ true,
+ true,
+ true,
+ array('parseDate'));
+ }
+
+ public function testParseDateRegular()
+ {
+ $this->markTestSkipped('We have to learn how to mock concret methods for abstract class');
+
+ $date = $this->stub->parseDate('2014-05-01');
+
+ $this->assertEquals('2014', $date->format('Y'));
+ $this->assertEquals('05', $date->format('m'));
+ $this->assertEquals('01', $date->format('d'));
+ }
+}