### Question:
Rotation extends AAngularMeasure implements IRotation { public static Rotation ofRad(double rad) { return new Rotation(rad); } 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 ofRad() { assertEquals(0, Rotation.ofRad(0).asRad(), ACCURACY); assertEquals(Math.PI * 2, Rotation.ofRad(Math.PI * 2).asRad(), ACCURACY); assertEquals(Math.PI * 100, Rotation.ofRad(Math.PI * 100).asRad(), ACCURACY); assertEquals(90, Rotation.ofRad(Math.PI / 2).asDeg(), ACCURACY); assertEquals(-270, Rotation.ofRad(Math.PI * -1.5).asDeg(), ACCURACY); }