/** * @covers alroniks\dtms\DateTime::sub */ public function testSub() { $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('PT0.000000S')); $this->assertEquals('1439028610.123456', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('PT1.123456S')); $this->assertEquals('1439028609.000000', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('PT1.999999S')); $this->assertEquals('1439028608.123457', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('PT1.876544S')); $this->assertEquals('1439028608.246912', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('-PT0.000000S')); $this->assertEquals('1439028610.123456', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('-PT1.123456S')); $this->assertEquals('1439028611.246912', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('-PT1.999999S')); $this->assertEquals('1439028612.123455', $dt->format('U.u')); $dt = new DateTime('2015-08-08 10:10:10.123456'); $dt->sub(new DateInterval('-PT1.876544S')); $this->assertEquals('1439028612.000000', $dt->format('U.u')); }