/** * Verify that a vector projection onto a differently keyed vector fails. * * @test * @uses \Nubs\Vectorix\Vector::__construct * @uses \Nubs\Vectorix\Vector::components * @uses \Nubs\Vectorix\Vector::dimension * @uses \Nubs\Vectorix\Vector::multiplyByScalar * @uses \Nubs\Vectorix\Vector::divideByScalar * @uses \Nubs\Vectorix\Vector::length * @uses \Nubs\Vectorix\Vector::normalize * @uses \Nubs\Vectorix\Vector::isSameDimension * @uses \Nubs\Vectorix\Vector::isSameVectorSpace * @uses \Nubs\Vectorix\Vector::_checkVectorSpace * @uses \Nubs\Vectorix\Vector::dotProduct * @covers ::projectOnto * @expectedException Exception * @expectedExceptionMessage The vectors' components must have the same keys */ public function projectOntoVectorWithDifferentlyKeyedComponents() { $a = new Vector([4, 0]); $b = new Vector(['x' => 5, 'y' => 7]); $a->projectOnto($b); }