@Test
public void testAddSubtract() {
final Quaternion quat1 = new Quaternion(0, 1, 2, 3);
final Quaternion quat2 = new Quaternion(1, 1, 1, 1);
assertEquals(new Quaternion(1, 2, 3, 4), quat1.add(quat2, null));
assertEquals(new Quaternion(1, 2, 3, 4), quat1.add(quat2, new Quaternion()));
assertEquals(new Quaternion(1, 2, 3, 4), quat1.addLocal(quat2));
quat1.set(0, 1, 2, 3);
quat2.set(1, 1, 1, 1);
assertEquals(new Quaternion(-1, 0, 1, 2), quat1.subtract(quat2, null));
assertEquals(new Quaternion(-1, 0, 1, 2), quat1.subtract(quat2, new Quaternion()));
assertEquals(new Quaternion(-1, 0, 1, 2), quat1.subtractLocal(quat2));
}