xref: /template/strap/vendor/dragonmantank/cron-expression/tests/Cron/FieldFactoryTest.php (revision 37748cd8654635afbeca80942126742f0f4cc346)
1*37748cd8SNickeau<?php
2*37748cd8SNickeau
3*37748cd8SNickeaunamespace Cron\Tests;
4*37748cd8SNickeau
5*37748cd8SNickeauuse Cron\FieldFactory;
6*37748cd8SNickeauuse PHPUnit_Framework_TestCase;
7*37748cd8SNickeau
8*37748cd8SNickeau/**
9*37748cd8SNickeau * @author Michael Dowling <mtdowling@gmail.com>
10*37748cd8SNickeau */
11*37748cd8SNickeauclass FieldFactoryTest extends PHPUnit_Framework_TestCase
12*37748cd8SNickeau{
13*37748cd8SNickeau    /**
14*37748cd8SNickeau     * @covers Cron\FieldFactory::getField
15*37748cd8SNickeau     */
16*37748cd8SNickeau    public function testRetrievesFieldInstances()
17*37748cd8SNickeau    {
18*37748cd8SNickeau        $mappings = array(
19*37748cd8SNickeau            0 => 'Cron\MinutesField',
20*37748cd8SNickeau            1 => 'Cron\HoursField',
21*37748cd8SNickeau            2 => 'Cron\DayOfMonthField',
22*37748cd8SNickeau            3 => 'Cron\MonthField',
23*37748cd8SNickeau            4 => 'Cron\DayOfWeekField',
24*37748cd8SNickeau            5 => 'Cron\YearField'
25*37748cd8SNickeau        );
26*37748cd8SNickeau
27*37748cd8SNickeau        $f = new FieldFactory();
28*37748cd8SNickeau
29*37748cd8SNickeau        foreach ($mappings as $position => $class) {
30*37748cd8SNickeau            $this->assertEquals($class, get_class($f->getField($position)));
31*37748cd8SNickeau        }
32*37748cd8SNickeau    }
33*37748cd8SNickeau
34*37748cd8SNickeau    /**
35*37748cd8SNickeau     * @covers Cron\FieldFactory::getField
36*37748cd8SNickeau     * @expectedException InvalidArgumentException
37*37748cd8SNickeau     */
38*37748cd8SNickeau    public function testValidatesFieldPosition()
39*37748cd8SNickeau    {
40*37748cd8SNickeau        $f = new FieldFactory();
41*37748cd8SNickeau        $f->getField(-1);
42*37748cd8SNickeau    }
43*37748cd8SNickeau}
44