### Question:
ATransformable3D implements IGraphNodeMember { public ATransformable3D setRotY(double rotY) { mOrientation.fromEuler(rotY, MathUtil.PRE_180_DIV_PI * mOrientation.getRotationX(), MathUtil.PRE_180_DIV_PI * mOrientation.getRotationZ()); mLookAtValid = false; markModelMatrixDirty(); return this; } ATransformable3D(); boolean onRecalculateModelMatrix(Matrix4 parentMatrix); Matrix4 getModelMatrix(); void calculateModelMatrix(final Matrix4 parentMatrix); void setPosition(Vector3 position); void setPosition(double x, double y, double z); void moveForward(double units); void moveRight(double units); void moveUp(double units); void setX(double x); void setY(double y); void setZ(double z); Vector3 getPosition(); double getX(); double getY(); double getZ(); ATransformable3D rotate(final Quaternion quat); ATransformable3D rotate(final Vector3 axis, double angle); ATransformable3D rotate(final Vector3.Axis axis, double angle); ATransformable3D rotate(double x, double y, double z, double angle); ATransformable3D rotate(final Matrix4 matrix); ATransformable3D setRotation(final Quaternion quat); ATransformable3D setRotation(final Vector3 axis, double angle); ATransformable3D setRotation(final Vector3.Axis axis, double angle); ATransformable3D setRotation(double x, double y, double z, double angle); ATransformable3D setRotation(final Matrix4 matrix); ATransformable3D setRotation(Vector3 rotation); ATransformable3D setRotation(double rotX, double rotY, double rotZ); ATransformable3D setRotX(double rotX); ATransformable3D setRotY(double rotY); ATransformable3D setRotZ(double rotZ); double getRotX(); double getRotY(); double getRotZ(); void rotateAround(Vector3 axis, double angle); void rotateAround(Vector3 axis, double angle, boolean append); ATransformable3D setOrientation(Quaternion quat); Quaternion getOrientation(Quaternion quat); Quaternion getOrientation(); ATransformable3D setLookAt(Vector3 lookAt); ATransformable3D setLookAt(double x, double y, double z); void enableLookAt(); void disableLookAt(); boolean isLookAtEnabled(); Vector3 getLookAt(); boolean isLookAtValid(); ATransformable3D resetToLookAt(); ATransformable3D resetToLookAt(Vector3 upAxis); ATransformable3D setUpAxis(Vector3 upAxis); ATransformable3D setUpAxis(Vector3.Axis upAxis); ATransformable3D setUpAxis(double x, double y, double z); ATransformable3D resetUpAxis(); ATransformable3D setScale(Vector3 scale); ATransformable3D setScale(double scaleX, double scaleY, double scaleZ); ATransformable3D setScale(double scale); ATransformable3D setScaleX(double scale); ATransformable3D setScaleY(double scale); ATransformable3D setScaleZ(double scale); Vector3 getScale(); double getScaleX(); double getScaleY(); double getScaleZ(); boolean isZeroScale(); void setGraphNode(IGraphNode node, boolean inside); IGraphNode getGraphNode(); boolean isInGraph(); IBoundingVolume getTransformedBoundingVolume(); Vector3 getScenePosition();  }### Answer:
@Test public void testSetRotY() { double expected = 42; transformable.setRotY(expected); assertEquals(expected, transformable.getRotY(), 1e-10); }