Git Product home page Git Product logo

Comments (8)

Nicholas-Chew avatar Nicholas-Chew commented on May 24, 2024

I am doing Unit Testing against own implementation of Big Integer. Do I need to commit the Testing and Implementation? Where should I commit?

from elgamal.

Nicholas-Chew avatar Nicholas-Chew commented on May 24, 2024

One more question. Would you like to retain the main code as much as possible in the ElGamalExt?
Example would be a.modPow(exp, mod) which is the original one compare to BigInteger.ModPow(base, exp, mod)

from elgamal.

bazzilic avatar bazzilic commented on May 24, 2024

I am doing Unit Testing against own implementation of Big Integer

What is "own implementation"? There are unit tests in the project to check whether everything works correct after changes. They, of course, rely on the old BigInteger, so they need to be updated too.

Where should I commit?

Commit in your fork, after which make a pull request.

Would you like to retain the main code as much as possible

Tbh, the example did not make your question more clear.

from elgamal.

Nicholas-Chew avatar Nicholas-Chew commented on May 24, 2024

Apologies. I will rephrase my questions.

What is "own implementation"? There are unit tests in the project to check whether everything works correct after changes. They, of course, rely on the old BigInteger, so they need to be updated too.

I am doing Unit Testing the new implementation using the old BigInteger for the new implementation will yield the same result. Hence, the Unit Testing involving the old BigInteger and the new BigInteger.
My question is do I need to commit the Unit Testing as it involves ElGamalExt.BigInt (This is how I named it) and BigInteger (old implementation) and where should I commit as it involves two modules.

Tbh, the example did bot make your question more clear.

For example, in ElGamalDecryptor. To do a Modular Power we can call a function from the object direction which is aBigIntObj.modPow(exponent, modular), However, System.Numeric.BigInteger dosent have this function. The function is only exposed through System.Numeric.BigInteger.ModPow(base,exponent, modular), Which my question is do you prefer to retain the original code as much as possible as it is possible to create a function to do modPow (example) directly from the object? Hence, there will be least changes in the original code.

from elgamal.

bazzilic avatar bazzilic commented on May 24, 2024

Regarding the first question, for now leave the testing project as is, using the old BigInteger.

Regarding the second question, there's no need to retain as much old code as possible, use the class as it is intended to be used.

from elgamal.

Nicholas-Chew avatar Nicholas-Chew commented on May 24, 2024

I will need some more time. All other operations are good and tested using Unit Test except for genRandomBits and genPseudoPrime.

from elgamal.

Nicholas-Chew avatar Nicholas-Chew commented on May 24, 2024

I am having some issue with the Unit Test when integrating the new BigInteger into ElGamalExt. However, the Unit Test for individual functions are good. May I know is ElGamalExt's unit test passed with the old BigInteger Implementation?

from elgamal.

bazzilic avatar bazzilic commented on May 24, 2024

It should have, or otherwise the AppVeyor build would fail. You can check for yoursel: do a git checkout from the master branch or from the original commit if you develop in the same branch. You can use git log --oneline --graph --decorate to find the commit.

from elgamal.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.