Ellipsoid { public void setB(final double b) throws IllegalArgumentException { if (invalidRadius(b)) { throw new IllegalArgumentException( "Radius must be a finite positive number."); } if (b < a || b > c) { throw new IllegalArgumentException( "Radius 'b' must be between 'a' and 'c'."); } this.b = b; } Ellipsoid(final double a, final double b, final double c);  Ellipsoid(final Vector3dc u, final Vector3dc v, final Vector3dc w); double getA(); void setA(final double a); double getB(); void setB(final double b); double getC(); void setC(final double c); Vector3d getCentroid(); void setCentroid(final Vector3dc centroid); Matrix4d getOrientation(); void setOrientation(final Matrix3dc semiAxes); List<Vector3d> getSemiAxes(); double getVolume(); @SuppressWarnings("unchecked") void initSampling(final OpEnvironment ops); List<Vector3d> samplePoints(final long n); void setSemiAxes(final Vector3dc u, final Vector3dc v,
		final Vector3dc w);  }
@Test public void testSetB() { final Ellipsoid ellipsoid = new Ellipsoid(1, 7, 8); ellipsoid.setB(4); assertEquals(4, ellipsoid.getB(), 1e-12); }
@Test(expected = IllegalArgumentException.class) public void testSetBThrowsExceptionGTC() { final Ellipsoid ellipsoid = new Ellipsoid(1, 2, 3); ellipsoid.setB(4); }
@Test(expected = IllegalArgumentException.class) public void testSetBThrowsExceptionLTA() { final Ellipsoid ellipsoid = new Ellipsoid(2, 3, 4); ellipsoid.setB(1); }