Skip to content

Conversation

cwh0430
Copy link

@cwh0430 cwh0430 commented Jul 30, 2022

To calculate the hypothenuse, adjacent and base of the triangle

Open in Gitpod know more

Describe your change:

  • [✓ ] Add an algorithm?
  • Fix a bug or typo in an existing algorithm?
  • Documentation change?

Checklist:

  • [✓ ] I have read CONTRIBUTING.md.
  • [✓ ] This pull request is all my own work -- I have not plagiarized.
  • [✓ ] I know that pull requests will not be merged if they fail the automated tests.
  • [✓ ] This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • [✓ ] All new JavaScript files are placed inside an existing directory.
  • [ ✓] All filenames should use the UpperCamelCase (PascalCase) style. There should be no spaces in filenames.
    Example:UserProfile.js is allowed but userprofile.js,Userprofile.js,user-Profile.js,userProfile.js are not
  • [✓ ] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • [✓ ] If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.

To calculate the hypothenuse, adjacent and base of the triangle
Copy link
Member

@raklaptudirm raklaptudirm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add some tests for the functions.

Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rename the file to PythagoreanTheorem.

calcAdjacent and calcBase are practically the same function (a = sqrt(c² - b²) and b = sqrt(c² - a²)) - deduplicate them. Order shouldn't matter for a and b (adjacent vs. base).

Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You've got two tests both for adjacent & base calculation. Please merge them in a single function.

Copy link
Author

@cwh0430 cwh0430 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added test functions

appgurueu
appgurueu previously approved these changes Aug 3, 2022
Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good enough (would perhaps rename calcOtherSides to calcOtherSide since it calculates one other side).

appgurueu
appgurueu previously approved these changes Aug 3, 2022
@lgtm-com
Copy link

lgtm-com bot commented Aug 3, 2022

This pull request introduces 1 alert when merging 5cd94d8 into a9e65cd - view on LGTM.com

new alerts:

  • 1 for Unused variable, import, function or class

@appgurueu appgurueu added the algorithm Adds or improves an algorithm label Aug 3, 2022
Copy link
Collaborator

@appgurueu appgurueu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use pythagorean triplets as tests. Your current tests are invalid.

import * as pytheorem from "../PythagoreanTheorem"

test('Testing on hypothenuse calculation', () => {
const hypothenuse = pytheorem.calcHypothenuse(2.0, 3.0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 + 9 = 13; sqrt(13) != 4

})

test('Testing on other sides calculation', () => {
const side = pytheorem.calcOtherSide(4.0, 3.0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

16 - 9 = 7; sqrt(7) != 2

@cwh0430 cwh0430 closed this by deleting the head repository Aug 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
algorithm Adds or improves an algorithm
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants