@Test
public void testLerp() {

  final Vector4 vec1 = new Vector4(8, 3, -2, 2);
  final Vector4 vec2 = new Vector4(2, 1, 0, -2);
  assertEquals(new Vector4(5, 2, -1, 0), vec1.lerp(vec2, 0.5, null));
  assertEquals(new Vector4(5, 2, -1, 0), vec1.lerp(vec2, 0.5, new Vector4()));
  assertEquals(new Vector4(5, 2, -1, 0), Vector4.lerp(vec1, vec2, 0.5, null));
  assertEquals(new Vector4(5, 2, -1, 0), Vector4.lerp(vec1, vec2, 0.5, new Vector4()));
  vec1.set(14, 5, 4, 2);
  vec1.lerpLocal(vec2, 0.25);
  assertEquals(new Vector4(11, 4, 3, 1), vec1);
  vec1.set(15, 7, 6, 8);
  final Vector4 vec3 = new Vector4(-1, -1, -1, -1);
  vec3.lerpLocal(vec1, vec2, 0.5);
  assertEquals(new Vector4(8.5, 4.0, 3.0, 3.0), vec3);
  // coverage
  assertEquals(vec1.lerp(vec1, .25, null), vec1);
  assertEquals(vec2.lerpLocal(vec2, .25), vec2);
  assertEquals(vec2.lerpLocal(vec2, vec2, .25), vec2);
  assertEquals(Vector4.lerp(vec1, vec1, .25, null), vec1);
}