/** * 以下の確認を行います. * * - フィールドの加減が正常に出来ること. * - 繰り上がり・繰り下がり処理が正常に出来ること. * - 不正なフィールド名を指定した場合に無視されること. * * @covers Peach\DT\Date::add * @covers Peach\DT\Date::adjust */ public function testAdd() { $d1 = new Date(2012, 5, 21); $this->assertEquals(new Date(2015, 5, 21), $d1->add("year", 3)); $this->assertEquals(new Date(2009, 5, 21), $d1->add("year", -3)); $this->assertEquals(new Date(2012, 10, 21), $d1->add("month", 5)); $this->assertEquals(new Date(2011, 12, 21), $d1->add("month", -5)); $this->assertEquals(new Date(2012, 6, 10), $d1->add("date", 20)); $this->assertEquals(new Date(2012, 4, 21), $d1->add("date", -30)); $this->assertEquals(new Date(2011, 5, 21), $d1->add("date", -366)); $this->assertEquals(new Date(2013, 5, 21), $d1->add("date", 365)); $this->assertEquals(new Date(2012, 5, 21), $d1->add("min", 10)); $this->assertEquals(new Date(2012, 5, 21), $d1->add("sec", -10)); $this->assertEquals(new Date(2012, 5, 21), $d1->add("asdf", 20)); }