### Question:
Angle extends AAngularMeasure implements IAngle { public static Angle ofRad(double rad) { return new Angle(rad); } private  Angle(); private  Angle(double rad); static Angle zero(); static Angle ofRad(double rad); static Angle ofDeg(double deg); static Angle ofRotation(double turns); static Angle ofVec(IVector2 vector); static Angle ofAngularMeasure(IAngularMeasure angularMeasure); @Override IAngle add(final IAngularMeasure angle); @Override IAngle add(final double angle); @Override IAngle subtract(final IAngularMeasure angle); @Override IAngle subtract(final double angle); @Override IAngle multiply(final double factor);  }### Answer:
@Test public void ofRad() { assertEquals(0, Angle.ofRad(0).asRad(), ACCURACY); assertEquals(0, Angle.ofRad(Math.PI * 2).asRad(), ACCURACY); assertEquals(0, Angle.ofRad(Math.PI * 100).asRad(), ACCURACY); assertEquals(90, Angle.ofRad(Math.PI / 2).asDeg(), ACCURACY); assertEquals(90, Angle.ofRad(Math.PI * -1.5).asDeg(), ACCURACY); }