Git Product home page Git Product logo

Comments (19)

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024 1

@morrme Great! We love to receive contributions. As for the mentoring, we'd be happy to.

Let's help you get started. First thing to note is that we are in the process of adding test data generators (#195), which is basically code to automatically generate an exercise's test file. This generation of the code is based on the exercise's canonical data, which can be found in the x-common repository.

I've looked at the remaining exercises for which to replace the [TestCase] with individual tests, and I think your best bet would be to start with the luhn exercise. If you look at it's canonical data, you can see that it is a fairly simple structure. In fact, each test is just a single input string which is passed to a function that returns a boolean. The basic infrastructure for this type of tests is already there, as you can see in the isogram test generator.

The generators can be found in the generators folder. They are built on .NET Core, so you'll need to have .NET Core installed (see this page). Once you have add your custom generator, all you need to do is to run the generators application and the tests file should be updated. You should then check to see if the default stub implementation and the example implementation still compile correctly (which you can do manually or by running the build.ps1 or build.sh command in the root directory).

If you have any specific questions, please post them in our Gitter room. Good luck and enjoy!

from csharp.

robkeim avatar robkeim commented on August 11, 2024

In terms of the argument that we're missing the richness of the canonical data I think we could work around that by adding additional comments alongside of the test cases.

However, from a usability standpoint, I'm all for making the tests easier to run if they're difficult to run today. In my setup I'm using Visual Studio which has the ability to run all of the cases for a single test or to run them one by one very easily, but I know different tools don't support the same functionality.

Here are the list of exercises using the TestCase attribute:

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

Great work gathering this data @robkeim!

from csharp.

balazsbotond avatar balazsbotond commented on August 11, 2024

I can start working on these. I will always leave a comment here before starting to convert the tests for an exercise - this way you'll know which ones are still up for grabs :)

from csharp.

robkeim avatar robkeim commented on August 11, 2024

Sounds great, thanks @balazsbotond.

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

@balazsbotond Would you mind waiting until I've merged #193? Otherwise we'll have lots of merge conflicts :)

from csharp.

balazsbotond avatar balazsbotond commented on August 11, 2024

@ErikSchierboom OK, then I'll start with the F# track :)

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

Great!

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

@balazsbotond I've just merged #199, which means that this issue is now free to being worked on (if you're still interested).

from csharp.

morrme avatar morrme commented on August 11, 2024

@ErikSchierboom I am interested in helping with this, if you or anyone is up for a little mentoring along the way.

from csharp.

GalaDe avatar GalaDe commented on August 11, 2024

Hi @ErikSchierboom,

Do you still need help with this ticket?

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

Yeah sure!

from csharp.

GalaDe avatar GalaDe commented on August 11, 2024

atbash-cipher, isogram, nth-prime, perfect-numbers, pig-latin are the one which still needs to be done, right?

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

@GalaDe eh, not really. If you look at the list in the second comment, you'll find the remaining exercise listed. Those you mentiond have all been checked.

from csharp.

GalaDe avatar GalaDe commented on August 11, 2024

Ops:) @ErikSchierboom ok:)

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

@GalaDe By the way, have you read this comment? In it, I explain that from now on, we want to use test data generators to generate the test files automatically. There are already several test data generators available. Links to most of the PR's can be found on this page.

from csharp.

GalaDe avatar GalaDe commented on August 11, 2024

@ErikSchierboom, yes, I did. Thank you!

from csharp.

robkeim avatar robkeim commented on August 11, 2024

@ErikSchierboom I'm closing this because I feel that it no longer makes sense given that we're moving to test generators (assuming the test generators are creating individual tests and not test cases).

Please feel free to re-open the issue if you disagree.

from csharp.

ErikSchierboom avatar ErikSchierboom commented on August 11, 2024

Agreed!

from csharp.

Related Issues (20)

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.