From 8f48b87f7cd460ad3a0ff14d0ae064034af02a05 Mon Sep 17 00:00:00 2001 From: Japoncio3k Date: Sun, 30 Oct 2022 03:06:47 -0300 Subject: [PATCH 1/4] Added circle perimeter --- Geometry/CirclePerimeter.js | 7 +++++++ Geometry/Test/CirclePerimeter.test.js | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 Geometry/CirclePerimeter.js create mode 100644 Geometry/Test/CirclePerimeter.test.js diff --git a/Geometry/CirclePerimeter.js b/Geometry/CirclePerimeter.js new file mode 100644 index 0000000000..f736c4617c --- /dev/null +++ b/Geometry/CirclePerimeter.js @@ -0,0 +1,7 @@ +// https://en.wikipedia.org/wiki/Circle rounds to 2 decimal places +const circlePerimeter = (radius) => { + const perimeter = radius * 2 * Math.PI + return parseFloat(perimeter.toFixed(2)) +} + +export { circlePerimeter } diff --git a/Geometry/Test/CirclePerimeter.test.js b/Geometry/Test/CirclePerimeter.test.js new file mode 100644 index 0000000000..29deb95e36 --- /dev/null +++ b/Geometry/Test/CirclePerimeter.test.js @@ -0,0 +1,8 @@ +import { circlePerimeter } from '../CirclePerimeter' + +describe('CirclePerimeter', () => { + it('should return circle perimeter given the radius', () => { + const res = circlePerimeter(3) + expect(res).toEqual(18.85) + }) +}) From 1a5a0357f5c53ec93c86fa1dac3b46ba4c1eebb0 Mon Sep 17 00:00:00 2001 From: Japoncio3k Date: Sun, 30 Oct 2022 10:47:20 -0300 Subject: [PATCH 2/4] Created circle class and added circle area --- Geometry/Circle.js | 18 ++++++++++++++++++ Geometry/CirclePerimeter.js | 7 ------- Geometry/Test/Circle.test.js | 13 +++++++++++++ Geometry/Test/CirclePerimeter.test.js | 8 -------- 4 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 Geometry/Circle.js delete mode 100644 Geometry/CirclePerimeter.js create mode 100644 Geometry/Test/Circle.test.js delete mode 100644 Geometry/Test/CirclePerimeter.test.js diff --git a/Geometry/Circle.js b/Geometry/Circle.js new file mode 100644 index 0000000000..7a040c90e2 --- /dev/null +++ b/Geometry/Circle.js @@ -0,0 +1,18 @@ +/** + * This class represents a circle and can calculate it's perimeter and area + * @constructor + * @param {number} radius - The radius of the circule. + */ +export default class Circle { + constructor (radius) { + this.radius = radius + } + + perimeter = () => { + return this.radius * 2 * Math.PI + } + + area = () => { + return Math.pow(this.radius, 2) * Math.PI + } +} diff --git a/Geometry/CirclePerimeter.js b/Geometry/CirclePerimeter.js deleted file mode 100644 index f736c4617c..0000000000 --- a/Geometry/CirclePerimeter.js +++ /dev/null @@ -1,7 +0,0 @@ -// https://en.wikipedia.org/wiki/Circle rounds to 2 decimal places -const circlePerimeter = (radius) => { - const perimeter = radius * 2 * Math.PI - return parseFloat(perimeter.toFixed(2)) -} - -export { circlePerimeter } diff --git a/Geometry/Test/Circle.test.js b/Geometry/Test/Circle.test.js new file mode 100644 index 0000000000..6d55c45dc8 --- /dev/null +++ b/Geometry/Test/Circle.test.js @@ -0,0 +1,13 @@ +import Circle from '../Circle' + +const circle = new Circle(3) + +test('The area of a circle with radius equal to 3', () => { + const area = circle.area().toFixed(2) + expect(parseFloat(area)).toEqual(28.27) +}) + +test('The perimeter of a circle with radius equal to 3', () => { + const perimeter = circle.perimeter().toFixed(2) + expect(parseFloat(perimeter)).toEqual(18.85) +}) diff --git a/Geometry/Test/CirclePerimeter.test.js b/Geometry/Test/CirclePerimeter.test.js deleted file mode 100644 index 29deb95e36..0000000000 --- a/Geometry/Test/CirclePerimeter.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { circlePerimeter } from '../CirclePerimeter' - -describe('CirclePerimeter', () => { - it('should return circle perimeter given the radius', () => { - const res = circlePerimeter(3) - expect(res).toEqual(18.85) - }) -}) From c901e269ecfcba6de888052f865336cacab8a6a7 Mon Sep 17 00:00:00 2001 From: Japoncio3k Date: Sun, 30 Oct 2022 10:48:42 -0300 Subject: [PATCH 3/4] Added wikipedia link --- Geometry/Circle.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Geometry/Circle.js b/Geometry/Circle.js index 7a040c90e2..4b4f8e3b9a 100644 --- a/Geometry/Circle.js +++ b/Geometry/Circle.js @@ -1,5 +1,6 @@ /** * This class represents a circle and can calculate it's perimeter and area + * https://en.wikipedia.org/wiki/Circle * @constructor * @param {number} radius - The radius of the circule. */ From 3097951da199ede4f13b15f3d1a3dbb583b4c137 Mon Sep 17 00:00:00 2001 From: Gustavo Kamihara <49957327+Japoncio3k@users.noreply.github.com> Date: Sun, 30 Oct 2022 11:16:07 -0300 Subject: [PATCH 4/4] Update Circle.test.js --- Geometry/Test/Circle.test.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Geometry/Test/Circle.test.js b/Geometry/Test/Circle.test.js index 6d55c45dc8..b2332df43d 100644 --- a/Geometry/Test/Circle.test.js +++ b/Geometry/Test/Circle.test.js @@ -3,11 +3,9 @@ import Circle from '../Circle' const circle = new Circle(3) test('The area of a circle with radius equal to 3', () => { - const area = circle.area().toFixed(2) - expect(parseFloat(area)).toEqual(28.27) + expect(parseFloat(circle.area().toFixed(2))).toEqual(28.27) }) test('The perimeter of a circle with radius equal to 3', () => { - const perimeter = circle.perimeter().toFixed(2) - expect(parseFloat(perimeter)).toEqual(18.85) + expect(parseFloat(circle.perimeter().toFixed(2))).toEqual(18.85) }) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy