* * 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); } }