Skip to content

feat: AVLTree 100% test coverage #1098

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 4 commits into from
Sep 13, 2022
Merged

Conversation

kho-kho-kho
Copy link
Contributor

Jest output prior to changes:

File % Stmts % Branch % Funcs % Lines Uncovered Line #s
All files 89.43 85.48 100 90.51
AVLTree.js 89.43 85.48 100 90.51 ...,122-123,154-155,157-158,162

Jest output after changes:

File % Stmts % Branch % Funcs % Lines Uncovered Line #s
All files 100 100 100 100
AVLTree.js 100 100 100 100

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}.

The original insertBalance function was doing raw value comparisons as opposed to using the tree's comparator. This is clearly unintentional, and would (ultimately) cause the structure to segfault when constructed with the stringData included in the updated test.

I've added the fix, scanned the rest of the code for similar issues, and added the appropriate test case which passes successfully with the fix. The jest code coverage increases slightly as well with the changes.
Added a couple of extra elements to the original test tree, and then removed elements in an order such that all previously uncovered branches of code are now covered.

Also added an emptyTree structure to test some additional (trivial) base cases.
@appgurueu appgurueu added the tests Adds or fixes tests; issue that points out bugs in the tests label Sep 13, 2022
@appgurueu
Copy link
Collaborator

Please fix your code style by running standard.

missed this from my previous commit
@kho-kho-kho
Copy link
Contributor Author

Please fix your code style by running standard.

@appgurueu fixed!

Apologies - forgot about this during my initial commit.

@raklaptudirm raklaptudirm changed the title AVLTree 100% test coverage feat: AVLTree 100% test coverage Sep 13, 2022
@raklaptudirm raklaptudirm merged commit e7ee09a into TheAlgorithms:master Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests Adds or fixes tests; issue that points out bugs in the tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants