Skip to content

Created VolumeTest.java & Fixed Bugs in Volume.java #3682

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Oct 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 15 additions & 45 deletions src/main/java/com/thealgorithms/maths/Volume.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,55 +3,25 @@
/* Find volume of various shapes.*/
public class Volume {

public static void main(String[] args) {
/* test cube */
assert Double.compare(volumeCube(7), 343.0) == 0;

/* test cuboid */
assert Double.compare(volumeCuboid(2, 5, 7), 70.0) == 0;

/* test sphere */
assert Double.compare(volumeSphere(5), 523.5987755982989) == 0;

/* test cylinder */
assert Double.compare(volumeCylinder(1, 2), 12.566370614359172) == 0;

/* test hemisphere */
assert Double.compare(volumeHemisphere(5), 261.79938779914943) == 0;

/* test cone */
assert Double.compare(volumeCone(5, 7), 916.297857297023) == 0;

/*test prism*/
assert Double.compare(volumePrism(10, 2), 20.0) == 0;

/*test pyramid*/
assert Double.compare(volumePyramid(10, 3), 10.0) == 0;
}

/**
* Calculate the volume of a cube.
*
* @param sideLength side length of cube
* @return volume of given cube
*/
private static double volumeCube(double sidelength) {
public static double volumeCube(double sidelength) {
return sidelength * sidelength * sidelength;
}

/**
* Calculate the volume of a cuboid.
*
* @param width of cuboid
* @param width of cuboid
* @param height of cuboid
* @param length of cuboid
* @return volume of given cuboid
*/
private static double volumeCuboid(
double width,
double height,
double length
) {
public static double volumeCuboid(double width, double height, double length) {
return width * height * length;
}

Expand All @@ -61,8 +31,8 @@ private static double volumeCuboid(
* @param radius radius of sphere
* @return volume of given sphere
*/
private static double volumeSphere(double radius) {
return 4 / 3 * Math.PI * radius * radius * radius;
public static double volumeSphere(double radius) {
return (4 * Math.PI * radius * radius * radius) / 3;
}

/**
Expand All @@ -72,7 +42,7 @@ private static double volumeSphere(double radius) {
* @param height height of the cylinder.
* @return volume of given cylinder
*/
private static double volumeCylinder(double radius, double height) {
public static double volumeCylinder(double radius, double height) {
return Math.PI * radius * radius * height;
}

Expand All @@ -82,8 +52,8 @@ private static double volumeCylinder(double radius, double height) {
* @param radius radius of hemisphere
* @return volume of given hemisphere
*/
private static double volumeHemisphere(double radius) {
return 2 / 3 * Math.PI * radius * radius * radius;
public static double volumeHemisphere(double radius) {
return (2 * Math.PI * radius * radius * radius) / 3;
}

/**
Expand All @@ -93,29 +63,29 @@ private static double volumeHemisphere(double radius) {
* @param height of cone.
* @return volume of given cone.
*/
private static double volumeCone(double radius, double height) {
return Math.PI * radius * radius * height / 3;
public static double volumeCone(double radius, double height) {
return (Math.PI * radius * radius * height) / 3;
}

/**
* Calculate the volume of a prism.
*
* @param area of the base.
* @param area of the base.
* @param height of prism.
* @return volume of given prism.
*/
private static double volumePrism(double basearea, double height) {
public static double volumePrism(double basearea, double height) {
return basearea * height;
}

/**
* Calculate the volume of a pyramid.
*
* @param area of the base.
* @param area of the base.
* @param height of pyramid.
* @return volume of given pyramid.
*/
private static double volumePyramid(double basearea, double height) {
return basearea * height / 3;
public static double volumePyramid(double basearea, double height) {
return (basearea * height) / 3;
}
}
35 changes: 35 additions & 0 deletions src/test/java/com/thealgorithms/maths/VolumeTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.thealgorithms.maths;

import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;

public class VolumeTest {

@Test
public void volume() {

/* test cube */
assertTrue(Volume.volumeCube(7) == 343.0);

/* test cuboid */
assertTrue(Volume.volumeCuboid(2, 5, 7) == 70.0);

/* test sphere */
assertTrue(Volume.volumeSphere(7) == 1436.7550402417319);

/* test cylinder */
assertTrue(Volume.volumeCylinder(3, 7) == 197.92033717615698);

/* test hemisphere */
assertTrue(Volume.volumeHemisphere(7) == 718.3775201208659);

/* test cone */
assertTrue(Volume.volumeCone(3, 7) == 65.97344572538566);

/* test prism */
assertTrue(Volume.volumePrism(10, 2) == 20.0);

/* test pyramid */
assertTrue(Volume.volumePyramid(10, 3) == 10.0);
}
}