|
@@ 76-87 (lines=12) @@
|
| 73 |
|
$this->assertEquals(3, count($coll)); |
| 74 |
|
} |
| 75 |
|
|
| 76 |
|
public function testFilter() |
| 77 |
|
{ |
| 78 |
|
$coll = new ImmutableCollection(['foo', 'bar', 'baz']); |
| 79 |
|
$result = $coll->filter(function ($item) { |
| 80 |
|
return 'foo' !== $item; |
| 81 |
|
}); |
| 82 |
|
|
| 83 |
|
$this->assertEquals(['foo', 'bar', 'baz'], $coll->getAll()); |
| 84 |
|
$this->assertEquals(['bar', 'baz'], $result->getAll()); |
| 85 |
|
$this->assertNotSame($coll, $result); |
| 86 |
|
$this->assertInstanceOf('Graze\DataStructure\Collection\ImmutableCollection', $result); |
| 87 |
|
} |
| 88 |
|
|
| 89 |
|
public function testGetIterator() |
| 90 |
|
{ |
|
@@ 116-127 (lines=12) @@
|
| 113 |
|
$this->assertEquals('foobarbaz', $result); |
| 114 |
|
} |
| 115 |
|
|
| 116 |
|
public function testSort() |
| 117 |
|
{ |
| 118 |
|
$coll = new ImmutableCollection([2, 3, 1]); |
| 119 |
|
$result = $coll->sort(s\comparison_fn(function ($item) { |
| 120 |
|
return $item; |
| 121 |
|
})); |
| 122 |
|
|
| 123 |
|
$this->assertEquals([2, 3, 1], $coll->getAll()); |
| 124 |
|
$this->assertEquals([1, 2, 3], $result->getAll()); |
| 125 |
|
$this->assertNotSame($coll, $result); |
| 126 |
|
$this->assertInstanceOf('Graze\DataStructure\Collection\ImmutableCollection', $result); |
| 127 |
|
} |
| 128 |
|
|
| 129 |
|
public function testSortOnAsc() |
| 130 |
|
{ |
|
@@ 129-140 (lines=12) @@
|
| 126 |
|
$this->assertInstanceOf('Graze\DataStructure\Collection\ImmutableCollection', $result); |
| 127 |
|
} |
| 128 |
|
|
| 129 |
|
public function testSortOnAsc() |
| 130 |
|
{ |
| 131 |
|
$coll = new ImmutableCollection([2, 3, 1]); |
| 132 |
|
$result = $coll->sortOn(function ($item) { |
| 133 |
|
return $item; |
| 134 |
|
}); |
| 135 |
|
|
| 136 |
|
$this->assertEquals([2, 3, 1], $coll->getAll()); |
| 137 |
|
$this->assertEquals([1, 2, 3], $result->getAll()); |
| 138 |
|
$this->assertNotSame($coll, $result); |
| 139 |
|
$this->assertInstanceOf('Graze\DataStructure\Collection\ImmutableCollection', $result); |
| 140 |
|
} |
| 141 |
|
|
| 142 |
|
public function testSortOnDesc() |
| 143 |
|
{ |
|
@@ 142-153 (lines=12) @@
|
| 139 |
|
$this->assertInstanceOf('Graze\DataStructure\Collection\ImmutableCollection', $result); |
| 140 |
|
} |
| 141 |
|
|
| 142 |
|
public function testSortOnDesc() |
| 143 |
|
{ |
| 144 |
|
$coll = new ImmutableCollection([2, 3, 1]); |
| 145 |
|
$result = $coll->sortOn(function ($item) { |
| 146 |
|
return $item; |
| 147 |
|
}, s\DESC); |
| 148 |
|
|
| 149 |
|
$this->assertEquals([2, 3, 1], $coll->getAll()); |
| 150 |
|
$this->assertEquals([3, 2, 1], $result->getAll()); |
| 151 |
|
$this->assertNotSame($coll, $result); |
| 152 |
|
$this->assertInstanceOf('Graze\DataStructure\Collection\ImmutableCollection', $result); |
| 153 |
|
} |
| 154 |
|
|
| 155 |
|
public function testSerialize() |
| 156 |
|
{ |