237 lines
6.7 KiB
PHP
Executable File
237 lines
6.7 KiB
PHP
Executable File
<?php
|
|
|
|
/*
|
|
* 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.
|
|
*/
|
|
|
|
use Carbon\Carbon;
|
|
|
|
class StartEndOfTest extends TestFixture
|
|
{
|
|
public function testStartOfDay()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->startOfDay() instanceof Carbon);
|
|
$this->assertCarbon($dt, $dt->year, $dt->month, $dt->day, 0, 0, 0);
|
|
}
|
|
|
|
public function testEndOfDay()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->endOfDay() instanceof Carbon);
|
|
$this->assertCarbon($dt, $dt->year, $dt->month, $dt->day, 23, 59, 59);
|
|
}
|
|
|
|
public function testStartOfMonthIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->startOfMonth() instanceof Carbon);
|
|
}
|
|
|
|
public function testStartOfMonthFromNow()
|
|
{
|
|
$dt = Carbon::now()->startOfMonth();
|
|
$this->assertCarbon($dt, $dt->year, $dt->month, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfMonthFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 31, 2, 3, 4)->startOfMonth();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfYearIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->startOfYear() instanceof Carbon);
|
|
}
|
|
|
|
public function testStartOfYearFromNow()
|
|
{
|
|
$dt = Carbon::now()->startOfYear();
|
|
$this->assertCarbon($dt, $dt->year, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfYearFromFirstDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 1, 1, 1)->startOfYear();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfYearFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2000, 12, 31, 23, 59, 59)->startOfYear();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testEndOfMonthIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->endOfMonth() instanceof Carbon);
|
|
}
|
|
|
|
public function testEndOfMonth()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 2, 3, 4)->endOfMonth();
|
|
$this->assertCarbon($dt, 2000, 1, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfMonthFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 31, 2, 3, 4)->endOfMonth();
|
|
$this->assertCarbon($dt, 2000, 1, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfYearIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->endOfYear() instanceof Carbon);
|
|
}
|
|
|
|
public function testEndOfYearFromNow()
|
|
{
|
|
$dt = Carbon::now()->endOfYear();
|
|
$this->assertCarbon($dt, $dt->year, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfYearFromFirstDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 1, 1, 1)->endOfYear();
|
|
$this->assertCarbon($dt, 2000, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfYearFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2000, 12, 31, 23, 59, 59)->endOfYear();
|
|
$this->assertCarbon($dt, 2000, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testStartOfDecadeIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->startOfDecade() instanceof Carbon);
|
|
}
|
|
|
|
public function testStartOfDecadeFromNow()
|
|
{
|
|
$dt = Carbon::now()->startOfDecade();
|
|
$this->assertCarbon($dt, $dt->year - $dt->year % 10, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfDecadeFromFirstDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 1, 1, 1)->startOfDecade();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfDecadeFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2009, 12, 31, 23, 59, 59)->startOfDecade();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testEndOfDecadeIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->endOfDecade() instanceof Carbon);
|
|
}
|
|
|
|
public function testEndOfDecadeFromNow()
|
|
{
|
|
$dt = Carbon::now()->endOfDecade();
|
|
$this->assertCarbon($dt, $dt->year - $dt->year % 10 + 9, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfDecadeFromFirstDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 1, 1, 1)->endOfDecade();
|
|
$this->assertCarbon($dt, 2009, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfDecadeFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2009, 12, 31, 23, 59, 59)->endOfDecade();
|
|
$this->assertCarbon($dt, 2009, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testStartOfCenturyIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->startOfCentury() instanceof Carbon);
|
|
}
|
|
|
|
public function testStartOfCenturyFromNow()
|
|
{
|
|
$dt = Carbon::now()->startOfCentury();
|
|
$this->assertCarbon($dt, $dt->year - $dt->year % 100, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfCenturyFromFirstDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 1, 1, 1)->startOfCentury();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testStartOfCenturyFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2009, 12, 31, 23, 59, 59)->startOfCentury();
|
|
$this->assertCarbon($dt, 2000, 1, 1, 0, 0, 0);
|
|
}
|
|
|
|
public function testEndOfCenturyIsFluid()
|
|
{
|
|
$dt = Carbon::now();
|
|
$this->assertTrue($dt->endOfCentury() instanceof Carbon);
|
|
}
|
|
|
|
public function testEndOfCenturyFromNow()
|
|
{
|
|
$dt = Carbon::now()->endOfCentury();
|
|
$this->assertCarbon($dt, $dt->year - $dt->year % 100 + 99, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfCenturyFromFirstDay()
|
|
{
|
|
$dt = Carbon::create(2000, 1, 1, 1, 1, 1)->endOfCentury();
|
|
$this->assertCarbon($dt, 2099, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testEndOfCenturyFromLastDay()
|
|
{
|
|
$dt = Carbon::create(2099, 12, 31, 23, 59, 59)->endOfCentury();
|
|
$this->assertCarbon($dt, 2099, 12, 31, 23, 59, 59);
|
|
}
|
|
|
|
public function testAverageIsFluid()
|
|
{
|
|
$dt = Carbon::now()->average();
|
|
$this->assertTrue($dt instanceof Carbon);
|
|
}
|
|
|
|
public function testAverageFromSame()
|
|
{
|
|
$dt1 = Carbon::create(2000, 1, 31, 2, 3, 4);
|
|
$dt2 = Carbon::create(2000, 1, 31, 2, 3, 4)->average($dt1);
|
|
$this->assertCarbon($dt2, 2000, 1, 31, 2, 3, 4);
|
|
}
|
|
|
|
public function testAverageFromGreater()
|
|
{
|
|
$dt1 = Carbon::create(2000, 1, 1, 1, 1, 1);
|
|
$dt2 = Carbon::create(2009, 12, 31, 23, 59, 59)->average($dt1);
|
|
$this->assertCarbon($dt2, 2004, 12, 31, 12, 30, 30);
|
|
}
|
|
|
|
public function testAverageFromLower()
|
|
{
|
|
$dt1 = Carbon::create(2009, 12, 31, 23, 59, 59);
|
|
$dt2 = Carbon::create(2000, 1, 1, 1, 1, 1)->average($dt1);
|
|
$this->assertCarbon($dt2, 2004, 12, 31, 12, 30, 30);
|
|
}
|
|
}
|