You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
2 months ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
/**
|
||
|
* This file is part of the Carbon package.
|
||
|
*
|
||
|
* (c) Brian Nesbitt <brian@nesbot.com>
|
||
|
*
|
||
|
* For the full copyright and license information, please view the LICENSE
|
||
|
* file that was distributed with this source code.
|
||
|
*/
|
||
|
|
||
|
namespace Tests\CarbonPeriod;
|
||
|
|
||
|
use Carbon\Carbon;
|
||
|
use Tests\AbstractTestCase;
|
||
|
|
||
|
class IterationMethodsTest extends AbstractTestCase
|
||
|
{
|
||
|
public function testForEach()
|
||
|
{
|
||
|
$result = '';
|
||
|
Carbon::create('2020-12-22')->daysUntil('2020-12-24')->forEach(function (Carbon $date) use (&$result) {
|
||
|
$result .= $date->diffInDays('2020-12-25')." days before Christmas!\n";
|
||
|
});
|
||
|
|
||
|
$this->assertSame("3 days before Christmas!\n".
|
||
|
"2 days before Christmas!\n".
|
||
|
"1 days before Christmas!\n", $result, );
|
||
|
}
|
||
|
|
||
|
public function testMap()
|
||
|
{
|
||
|
$result = iterator_to_array(Carbon::create('2020-12-22')->daysUntil('2020-12-24')->map(function (Carbon $date) {
|
||
|
return $date->diffInDays('2020-12-25').' days before Christmas!';
|
||
|
}));
|
||
|
|
||
|
$this->assertSame([
|
||
|
'3 days before Christmas!',
|
||
|
'2 days before Christmas!',
|
||
|
'1 days before Christmas!',
|
||
|
], $result);
|
||
|
}
|
||
|
}
|