Code Duplication    Length = 65-67 lines in 2 locations

tests/Adapter/Output/PHPConstantsOutputAdapterTest.php 1 location

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

tests/Adapter/Output/YamlOutputAdapterTest.php 1 location

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