### Question:
Rotation extends AAngularMeasure implements IRotation { public static Rotation ofDeg(double deg) { return new Rotation(deg2rad(deg)); } 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 ofDeg() { assertEquals(0, Rotation.ofDeg(0).asRad(), ACCURACY); assertEquals(Math.PI * 2, Rotation.ofDeg(360).asRad(), ACCURACY); assertEquals(Math.PI / 2, Rotation.ofDeg(90).asRad(), ACCURACY); assertEquals(-3 * Math.PI / 2, Rotation.ofDeg(-270).asRad(), ACCURACY); }