Code Duplication    Length = 79-81 lines in 2 locations

tests/Adapter/Output/PHPConstantsOutputAdapterTest.php 1 location

@@ 9-87 (lines=79) @@
6
use org\bovigo\vfs\vfsStreamDirectory;
7
use org\bovigo\vfs\vfsStreamWrapper;
8
9
class PHPConstantsOutputAdapterTest extends \PHPUnit_Framework_TestCase
10
{
11
12
    /**
13
     * @var PHPConstantsOutputAdapter
14
     */
15
    private $PHPConstantsOutputAdapter;
16
17
    protected function setUp()
18
    {
19
        parent::setUp();
20
        $this->PHPConstantsOutputAdapter = new PHPConstantsOutputAdapter();
21
    }
22
23
    public function testGetName()
24
    {
25
        $actual = $this->PHPConstantsOutputAdapter->getName();
26
        $this->assertEquals('php-constants', $actual);
27
    }
28
29
    /**
30
     * @param $parameters
31
     * @param $fileName
32
     * @param $env
33
     * @param $expected
34
     *
35
     * @dataProvider processProvider
36
     */
37
    public function testProcess($parameters, $fileName, $env, $date, $expected)
38
    {
39
        vfsStreamWrapper::register();
40
        vfsStreamWrapper::setRoot(new vfsStreamDirectory('root'));
41
42
        $fileNameVFS = vfsStream::url('root/' . $fileName);
43
        $this->PHPConstantsOutputAdapter->process($parameters, $fileNameVFS, $env, $date);
44
        $actual = file_get_contents(vfsStream::url('root/' . $fileName));
45
        $this->assertEquals($expected, $actual);
46
        vfsStreamWrapper::unregister();
47
    }
48
49
    public function processProvider()
50
    {
51
        $date = time();
52
        return array(
53
            'number' => array(
54
                'parameters' => array(
55
                    'PARAMETER' => 1100,
56
                    'PARAMETER1' => 1.100
57
                ),
58
                'fileName' => 'parameters.php',
59
                'env' => 'devlike/test',
60
                'date' => $date,
61
                'expected' => sprintf("%s\n%s\n%s\n",
62
                    sprintf("<?php\n/** This file is auto-generated during the build process of '%s' environment at %s **/", 'devlike/test', date(DATE_ATOM, $date)),
63
                    "define('PARAMETER', 1100);",
64
                    "define('PARAMETER1', 1.1);"
65
                ),
66
67
            ),
68
            'array' => array(
69
                'parameters' => array(
70
                    'PARAMETER' => array(100, 200, 300, "aaa'", array("'\"'")),
71
                    'PARAMETER1' => true,
72
                    'PARAMETER2' => null
73
                ),
74
                'fileName' => 'parameters.php',
75
                'env' => 'devlike/test',
76
                'date' => $date,
77
                'expected' => sprintf("%s\n%s\n%s\n%s\n",
78
                    sprintf("<?php\n/** This file is auto-generated during the build process of '%s' environment at %s **/", 'devlike/test', date(DATE_ATOM, $date)),
79
                    sprintf("define('PARAMETER', '%s');", "a:5:{i:0;i:100;i:1;i:200;i:2;i:300;i:3;s:4:\"aaa\\'\";i:4;a:1:{i:0;s:3:\"\\'\"\\'\";}}"),
80
                    "define('PARAMETER1', true);",
81
                    "define('PARAMETER2', null);"
82
                ),
83
84
            ),
85
        );
86
    }
87
}
88

tests/Adapter/Output/YamlOutputAdapterTest.php 1 location

@@ 9-89 (lines=81) @@
6
use org\bovigo\vfs\vfsStreamDirectory;
7
use org\bovigo\vfs\vfsStreamWrapper;
8
9
class YamlOutputAdapterTest extends \PHPUnit_Framework_TestCase
10
{
11
12
    /**
13
     * @var YamlOutputAdapter
14
     */
15
    private $YamlOutputAdapter;
16
17
    protected function setUp()
18
    {
19
        parent::setUp();
20
        $this->YamlOutputAdapter = new YamlOutputAdapter('parameters');
21
    }
22
23
    public function testGetName()
24
    {
25
        $actual = $this->YamlOutputAdapter->getName();
26
        $this->assertEquals('yaml', $actual);
27
    }
28
29
    /**
30
     * @param $parameters
31
     * @param $fileName
32
     * @param $env
33
     * @param $expected
34
     *
35
     * @dataProvider processProvider
36
     */
37
    public function testProcess($parameters, $fileName, $env, $date, $expected)
38
    {
39
        vfsStreamWrapper::register();
40
        vfsStreamWrapper::setRoot(new vfsStreamDirectory('root'));
41
42
        $fileNameVFS = vfsStream::url('root/' . $fileName);
43
        $this->YamlOutputAdapter->process($parameters, $fileNameVFS, $env, $date);
44
        $actual = file_get_contents(vfsStream::url('root/' . $fileName));
45
        $this->assertEquals($expected, $actual);
46
        vfsStreamWrapper::unregister();
47
    }
48
49
    public function processProvider()
50
    {
51
        $date = time();
52
        return array(
53
            'number' => array(
54
                'parameters' => array(
55
                    'PARAMETER' => 1100,
56
                    'PARAMETER1' => 1.100
57
                ),
58
                'fileName' => 'parameters.php',
59
                'env' => 'devlike/test',
60
                'date' => $date,
61
                'expected' => sprintf("%s\n%s\n%s\n%s\n",
62
                    sprintf("# This file is auto-generated during the build process of '%s' environment at %s", 'devlike/test', date(DATE_ATOM, $date)),
63
                    "parameters:",
64
                    "    PARAMETER: 1100",
65
                    "    PARAMETER1: 1.1"
66
                ),
67
68
            ),
69
            'array' => array(
70
                'parameters' => array(
71
                    'PARAMETER' => array(100, 200, 300, "aaa'", array("'\"'")),
72
                    'PARAMETER1' => true,
73
                    'PARAMETER2' => null
74
                ),
75
                'fileName' => 'parameters.php',
76
                'env' => 'devlike/test',
77
                'date' => $date,
78
                'expected' => sprintf("%s\n%s\n%s\n%s\n%s\n",
79
                    sprintf("# This file is auto-generated during the build process of '%s' environment at %s", 'devlike/test', date(DATE_ATOM, $date)),
80
                    "parameters:",
81
                    "    PARAMETER: [100, 200, 300, 'aaa''', ['''\"''']]",
82
                    "    PARAMETER1: true",
83
                    "    PARAMETER2: null"
84
                ),
85
86
            ),
87
        );
88
    }
89
}
90