### Question:
Rotation extends AAngularMeasure implements IRotation { public static Rotation ofRotation(double turns) { return new Rotation(rot2rad(turns)); } private  Rotation(); private  Rotation(double rad); static Rotation zero(); static Rotation ofRad(double rad); static Rotation ofDeg(double deg); static Rotation ofRotation(double turns); static Rotation ofVec(IVector2 vector); static Rotation ofAngularMeasure(IAngularMeasure angularMeasure); @Override IRotation add(final IAngularMeasure angle); @Override IRotation add(final double angle); @Override IRotation subtract(final IAngularMeasure angle); @Override IRotation subtract(final double angle); @Override IRotation multiply(final double factor);  }### Answer:
@Test public void ofRotation() { assertEquals(10 * Math.PI, Rotation.ofRotation(5).asRad(), ACCURACY); assertEquals(Math.PI, Rotation.ofRotation(0.5).asRad(), ACCURACY); assertEquals(-Math.PI / 2, Rotation.ofRotation(-0.25).asRad(), ACCURACY); }