8 namespace Fossology\Lib\Util;
13 protected function setUp() :
void
15 $this->assertCountBefore = \Hamcrest\MatcherAssert::getCount();
18 protected function tearDown() :
void
20 $this->addToAssertionCount(\Hamcrest\MatcherAssert::getCount()-$this->assertCountBefore);
23 public function testCallChunked()
25 $values = array(1, 2, 3);
27 assertThat(ArrayOperation::callChunked(
function ($values)
29 return array(count($values));
30 }, $values, 2), is(array(2, 1)));
33 public function testCallChunkedWithNoValues()
37 assertThat(ArrayOperation::callChunked(
function ($values)
39 return array(count($values));
40 }, $values, 2), is(emptyArray()));
43 public function testCallChunkedWithValueSizeSmallerThanChunkLimit()
45 $values = array(1, 2, 3);
47 assertThat(ArrayOperation::callChunked(
function ($values)
49 return array(count($values));
50 }, $values, 5), is(array(3)));
53 public function testCallChunkedWithExactMultiple()
55 $values = array(1, 2, 3, 4);
57 assertThat(ArrayOperation::callChunked(
function ($values)
59 return array(count($values));
60 }, $values, 2), is(array(2, 2)));
63 public function testCallChunkedShouldThrowExceptionWhenChunkSizeIsNotPositive()
65 $this->expectException(\InvalidArgumentException::class);
66 $this->expectExceptionMessage(
"chunk size should be positive");
67 ArrayOperation::callChunked(
function ($values)
69 return array(count($values));
73 public function testMultiSearch()
75 $haystack = array(100, 101, 102, 101);
76 assertThat(ArrayOperation::multiSearch(array(100),$haystack),is(0));
77 assertThat(ArrayOperation::multiSearch(array(101),$haystack),is(1));
78 assertThat(ArrayOperation::multiSearch(array(100,102),$haystack),is(0));
79 assertThat(ArrayOperation::multiSearch(array(200),$haystack),is(
false));
80 assertThat(ArrayOperation::multiSearch(array(200,102),$haystack),is(2));
83 public function testArrayKeyExists()
85 $haystack = [
"Key1" =>
"Value1",
"Key2" =>
"Value2",
"Key3" =>
"Value3"];
static arrayKeysExists(array $array, array $keys)
Check if a list of keys exists in associative array.