Skip to content

Add tests and type hints to hill cipher #1991

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 3 commits into from
May 18, 2020

Conversation

bharath-kotha
Copy link
Contributor

Describe your change:

Added doctests to the hill cipher algorithm and added type hints. This addresses the issue the #1788 .

There was a previous attemp #1862 to fix the issue but it wasn't merged.

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 Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • 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}.

Copy link
Member

@poyea poyea left a comment

Choose a reason for hiding this comment

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

Thank you for your pull request!🤩

@poyea poyea merged commit aa120ce into TheAlgorithms:master May 18, 2020
@cclauss
Copy link
Member

cclauss commented May 18, 2020

@bharath5412 I did not notice this before but these changes raise a ton of pytest warnings. Would you be willing to create a new pull request that eliminates these warnings? Given how little of numpy is actually used, would it be easy to remove the dependency on numpy? Thanks.

@cclauss
Copy link
Member

cclauss commented May 18, 2020

@poyea fixed the warnings in 36c01f9 but I still wonder if it would be useful to remove the dependency on numpy?

@bharath-kotha
Copy link
Contributor Author

I can work on removing the dependency on numpy. But the code uses matrix operations such as determinant and inversion of a matrix. They themselves are slightly complex piece of codes. @cclauss do you think that the dependency should be removed? I can make a PR to remove the numpy dependency.

@cclauss
Copy link
Member

cclauss commented May 18, 2020

If you believe that we are using sufficient numpy functionality then we can leave things as they are.

@bharath-kotha
Copy link
Contributor Author

Cool. I'll check how complex the methods are. If they are not complex, I'll implement and do a PR.

stokhos pushed a commit to stokhos/Python that referenced this pull request Jan 3, 2021
* Added tests and type hints to hill cipher

* Remove extra >>>

* import doctest

Co-authored-by: John Law <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants