File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * This class represents a circular cone and can calculate its volume and surface area
3+ * https://en.wikipedia.org/wiki/Cone
4+ * @constructor
5+ * @param {number } baseRadius - The radius of the base of the cone.
6+ * @param {number } height - The height of the cone
7+ */
8+ export default class Cone {
9+ constructor ( baseRadius , height ) {
10+ this . baseRadius = baseRadius
11+ this . height = height
12+ }
13+
14+ baseArea = ( ) => {
15+ return Math . pow ( this . baseRadius , 2 ) * Math . PI
16+ }
17+
18+ volume = ( ) => {
19+ return this . baseArea ( ) * this . height * 1 / 3
20+ }
21+
22+ surfaceArea = ( ) => {
23+ return this . baseArea ( ) + Math . PI * this . baseRadius * Math . sqrt ( Math . pow ( this . baseRadius , 2 ) + Math . pow ( this . height , 2 ) )
24+ }
25+ }
Original file line number Diff line number Diff line change 1+ import Cone from '../Cone'
2+
3+ const cone = new Cone ( 3 , 5 )
4+
5+ test ( 'The Volume of a cone with base radius equal to 3 and height equal to 5' , ( ) => {
6+ expect ( parseFloat ( cone . volume ( ) . toFixed ( 2 ) ) ) . toEqual ( 47.12 )
7+ } )
8+
9+ test ( 'The Surface Area of a cone with base radius equal to 3 and height equal to 5' , ( ) => {
10+ expect ( parseFloat ( cone . surfaceArea ( ) . toFixed ( 2 ) ) ) . toEqual ( 83.23 )
11+ } )
You can’t perform that action at this time.
0 commit comments