/** * @covers Marando\AstroCoord\Cartesian::add */ public function testAdd() { // Frame & epoch $frame = Frame::ICRF(); $epoch = AstroDate::parse('2015-Mar-20 00:00:00')->toEpoch(); // Position / velocity $x = Distance::au(+1.18); $y = Distance::au(-3.65); $z = Distance::au(-2.12); $vx = Velocity::aud(2.05); $vy = Velocity::aud(2.82); $vz = Velocity::aud(1.14); $a = new Cartesian($frame, $epoch, $x, $y, $z, $vx, $vy, $vz); $x = Distance::au(+9.32); $y = Distance::au(-5.25); $z = Distance::au(-6.89); $vx = Velocity::aud(5.33); $vy = Velocity::aud(2.09); $vz = Velocity::aud(0.6899999999999999); $b = new Cartesian($frame, $epoch, $x, $y, $z, $vx, $vy, $vz); $c = $a->add($b); $this->assertEquals(10.5, $c->x->au); $this->assertEquals(-8.9, $c->y->au); $this->assertEquals(-9.01, $c->z->au); $this->assertEquals(7.38, $c->vx->aud); $this->assertEquals(4.91, $c->vy->aud); $this->assertEquals(1.83, $c->vz->aud); // // // // Position / velocity $x = Distance::au(+1.18); $y = Distance::au(-3.65); $z = Distance::au(-2.12); $a = new Cartesian($frame, $epoch, $x, $y, $z); $x = Distance::au(+9.32); $y = Distance::au(-5.25); $z = Distance::au(-6.89); $b = new Cartesian($frame, $epoch, $x, $y, $z); $c = $a->add($b); $this->assertEquals(10.5, $c->x->au); $this->assertEquals(-8.9, $c->y->au); $this->assertEquals(-9.01, $c->z->au); $s = (string) $c; }