Skip to content

Commit 9674467

Browse files
committed
move defaults to constants
1 parent 22f4628 commit 9674467

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed

src/Flatten.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
*/
99
class Flatten
1010
{
11+
const DEFAULT_SEPARATOR = '.';
12+
const DEFAULT_PREFIX = '';
13+
const DEFAULT_FLAGS = 0;
14+
1115
/**
1216
* Turn off flattening values with integer keys.
1317
*/
@@ -35,8 +39,11 @@ class Flatten
3539
* @return Flatten
3640
* @see Flatten::FLAG_NUMERIC_NOT_FLATTENED
3741
*/
38-
public function __construct($separator = '.', $prefix = '', $flags = 0)
39-
{
42+
public function __construct(
43+
$separator = self::DEFAULT_SEPARATOR,
44+
$prefix = self::DEFAULT_PREFIX,
45+
$flags = self::DEFAULT_FLAGS
46+
) {
4047
$this->separator = $separator;
4148
$this->prefix = $prefix;
4249
$this->flags = $flags;

test/FlattenTest.php

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ public function scalarProvider()
2323
* @covers Flatten::flatten
2424
* @dataProvider scalarProvider
2525
*/
26-
public function testFlattenScalar($input, $expectedOutput)
26+
public function testFlattenScalar($var, $expectedOutput)
2727
{
28-
$output = iterator_to_array((new Flatten())->flatten($input));
28+
$output = $this->flattenToArray($var);
2929

3030
$this->assertEquals($expectedOutput, $output);
3131
}
@@ -48,7 +48,7 @@ public function scalarSeparatorPrefixProvider()
4848
*/
4949
public function testFlattenScalarWithSeparatorAndPrefix($var, $separator, $prefix, $expectedOutput)
5050
{
51-
$output = iterator_to_array((new Flatten($separator, $prefix))->flatten($var));
51+
$output = $this->flattenToArray($var, $separator, $prefix);
5252

5353
$this->assertEquals($expectedOutput, $output);
5454
}
@@ -78,9 +78,9 @@ public function arraysProvider()
7878
* @covers Flatten::flatten
7979
* @dataProvider arraysProvider
8080
*/
81-
public function testFlattenArrays($input, $expectedOutput)
81+
public function testFlattenArrays($var, $expectedOutput)
8282
{
83-
$output = iterator_to_array((new Flatten())->flatten($input));
83+
$output = $this->flattenToArray($var);
8484

8585
$this->assertEquals($expectedOutput, $output);
8686
}
@@ -114,9 +114,9 @@ public function traversablesProvider()
114114
* @covers Flatten::flatten
115115
* @dataProvider traversablesProvider
116116
*/
117-
public function testFlattenTraversable($input, $expectedOutput)
117+
public function testFlattenTraversable($var, $expectedOutput)
118118
{
119-
$output = iterator_to_array((new Flatten())->flatten($input));
119+
$output = $this->flattenToArray($var);
120120
$this->assertEquals($expectedOutput, $output);
121121
}
122122

@@ -157,7 +157,7 @@ public function traversablesSeparatorPrefixProvider()
157157
*/
158158
public function testFlattenTraversableWithSeparatorAndPrefix($var, $separator, $prefix, $expectedOutput)
159159
{
160-
$output = iterator_to_array((new Flatten($separator, $prefix))->flatten($var));
160+
$output = $this->flattenToArray($var, $separator, $prefix);
161161
$this->assertEquals($expectedOutput, $output);
162162
}
163163

@@ -216,7 +216,16 @@ public function flattenWithFlagsProvidor()
216216
*/
217217
public function testFlattenWithFlags($var, $separator, $prefix, $flags, $expectedOutput)
218218
{
219-
$output = iterator_to_array((new Flatten($separator, $prefix, $flags))->flatten($var));
219+
$output = $this->flattenToArray($var, $separator, $prefix, $flags);
220220
$this->assertEquals($expectedOutput, $output);
221221
}
222+
223+
private function flattenToArray(
224+
$var,
225+
$separator = Flatten::DEFAULT_SEPARATOR,
226+
$prefix = Flatten::DEFAULT_PREFIX,
227+
$flags = Flatten::DEFAULT_FLAGS
228+
) {
229+
return iterator_to_array((new Flatten($separator, $prefix, $flags))->flatten($var));
230+
}
222231
}

0 commit comments

Comments
 (0)