Comments (19)
@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.
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:
- acronym
- atbash-cipher
- beer-song
- clock
- diamond
- grep
- isogram
- luhn
- matrix
- meetup
- nth-prime
- perfect-numbers
- pig-latin
- protein-translation
- pythagorean-triplet
- raindrops
- roman-numerals
- series
- simple-linked-list
from csharp.
Great work gathering this data @robkeim!
from csharp.
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.
Sounds great, thanks @balazsbotond.
from csharp.
@balazsbotond Would you mind waiting until I've merged #193? Otherwise we'll have lots of merge conflicts :)
from csharp.
@ErikSchierboom OK, then I'll start with the F# track :)
from csharp.
Great!
from csharp.
@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.
@ErikSchierboom I am interested in helping with this, if you or anyone is up for a little mentoring along the way.
from csharp.
Hi @ErikSchierboom,
Do you still need help with this ticket?
from csharp.
Yeah sure!
from csharp.
atbash-cipher, isogram, nth-prime, perfect-numbers, pig-latin are the one which still needs to be done, right?
from csharp.
@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.
Ops:) @ErikSchierboom ok:)
from csharp.
@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.
@ErikSchierboom, yes, I did. Thank you!
from csharp.
@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.
Agreed!
from csharp.
Related Issues (20)
- New approach to Perfect Numbers exercise HOT 1
- 🤖 Sync error for commit 2e1c3c
- 🤖 Sync error for commit 2793b1 HOT 3
- C# track, Hyper-optimized Telemetry exercise - unclear instructions HOT 6
- elons-toys: Inconsistent object instantiations in tests HOT 1
- C# Log level exercise needs tests cases with numbers HOT 1
- Building a training set of tags for csharp HOT 21
- Missing example in do-while loops introduction in C# track HOT 3
- Deprecate `accumulate`? HOT 1
- Wrong instructions in Dominoes exercise HOT 1
- Improved and consistent "Please implement..." messages HOT 3
- Fix and improve the generator HOT 1
- Bowling and Nullability HOT 1
- Bowling and Nullability HOT 1
- Bowling and Nullability HOT 2
- Either support the current C# language or tell us what language version is being used for tasks. HOT 3
- Squeaky Clean (Task 4) - Mistake in Asserting Greek characters HOT 2
- Bob too early HOT 1
- Property based testing HOT 4
- ZebraPuzzle has discrepancy between provided code snippet and description HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from csharp.