Added surface area of a cuboid (#7293)

* Added surface area of a cuboid

Added surface area of a cuboid according to the formula:
S = 2 * (ab + ac + bc)

* Removed extra white space

* Added test for cuboid surface area

* fixed syntax error

* Removed extra space

* Added tests for cuboid surface area that should fail

I have added tests for cuboid surface area where one of the parameters is invalid. These should fail.
This commit is contained in:
kvadrik
2026-02-28 21:13:19 +02:00
committed by GitHub
parent 0d2a98e9f8
commit d8672882bf
2 changed files with 32 additions and 0 deletions

View File

@@ -35,6 +35,27 @@ public final class Area {
return 6 * sideLength * sideLength;
}
/**
* Calculate the surface area of a cuboid.
*
* @param length length of the cuboid
* @param width width of the cuboid
* @param height height of the cuboid
* @return surface area of given cuboid
*/
public static double surfaceAreaCuboid(final double length, double width, double height) {
if (length <= 0) {
throw new IllegalArgumentException("Length must be greater than 0");
}
if (width <= 0) {
throw new IllegalArgumentException("Width must be greater than 0");
}
if (height <= 0) {
throw new IllegalArgumentException("Height must be greater than 0");
}
return 2 * (length * width + length * height + width * height);
}
/**
* Calculate the surface area of a sphere.
*

View File

@@ -16,6 +16,11 @@ class AreaTest {
assertEquals(6.0, Area.surfaceAreaCube(1));
}
@Test
void testSurfaceAreaCuboid() {
assertEquals(214.0, Area.surfaceAreaCuboid(5, 6, 7));
}
@Test
void testSurfaceAreaSphere() {
assertEquals(12.566370614359172, Area.surfaceAreaSphere(1));
@@ -70,6 +75,12 @@ class AreaTest {
void testAllIllegalInput() {
assertAll(()
-> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaCube(0)),
()
-> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaCuboid(0, 1, 2)),
()
-> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaCuboid(1, 0, 2)),
()
-> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaCuboid(1, 2, 0)),
()
-> assertThrows(IllegalArgumentException.class, () -> Area.surfaceAreaSphere(0)),
()