Completed
Pull Request — master (#713)
by Bekh-Ivanov
33:57 queued 30:36
created

HashArrayTest::testEquals()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace Wikibase\DataModel\Tests\HashArray;
4
5
/**
6
 * @covers Wikibase\DataModel\HashArray
7
 *
8
 * @group Wikibase
9
 * @group WikibaseDataModel
10
 * @group HashArray
11
 *
12
 * @license GPL-2.0+
13
 * @author Jeroen De Dauw < [email protected] >
14
 */
15
abstract class HashArrayTest extends \PHPUnit_Framework_TestCase {
16
17
	public abstract function constructorProvider();
18
19
	/**
20
	 * Returns the name of the concrete class being tested.
21
	 *
22
	 * @since 0.4
23
	 *
24
	 * @return string
25
	 */
26
	abstract public function getInstanceClass();
27
28
	public function instanceProvider() {
29
		$class = $this->getInstanceClass();
30
31
		$instances = [];
32
33
		foreach ( $this->constructorProvider() as $args ) {
34
			$instances[] = [ new $class( array_key_exists( 0, $args ) ? $args[0] : [] ) ];
35
		}
36
37
		return $instances;
38
	}
39
40
	/**
41
	 * @param array $elements
42
	 *
43
	 * @return array[]
44
	 */
45
	protected function arrayWrap( array $elements ) {
46
		return array_map(
47
			function ( $element ) {
48
				return [ $element ];
49
			},
50
			$elements
51
		);
52
	}
53
54
}
55