-
-
Notifications
You must be signed in to change notification settings - Fork 132
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
[WIP] Add CanonicalDataParser (issue #331) #347
[WIP] Add CanonicalDataParser (issue #331) #347
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the approach. The generators look nice and clean and will be easy to add. Flattening the exercises is also currently what I do in the C# track.
This looks really good. But, a couple of things.
I have tried running I am going to be unreachable until the end of the week. So, if you guys want to merge this, I have no problem with that. I would just like to get this running on my box so I could experiment. Thanks @abo64 ! |
d4c5018
to
9503d76
Compare
Sorry, I had tried it in a slightly different project and apparently did not copy over all required files to this branch. The changes I had to make:
Now that there is this package Hope it works for you now, @ricemery ? |
Well, as they say, "the proof of the pudding is in the eating". I see you have already added some small, rather simple test generators, but maybe adding a somewhat more complex would give even more insight? |
I am able to build now. I updated the PangramsTestGenerator as well. No time to muck with Pull request before my flight:)
|
189d766
to
821f902
Compare
@ErikSchierboom suggested to try
I changed I am not overly happy with this currying trick of EDIT: added |
821f902
to
e7ba3aa
Compare
This is a first shot to get started. There are a couple of issues for discussion here:
CanonicalDataParser
parses the newjson
format: I used scala-parser-combinators because it is basic enough for me (it always creates simpleMap
s) to no not invest too much work. But feel free to switch to some more sophisticated framework likeplay-json
.LabeledTestGroup
is just flattened out, that is not reflected in the resulting test suite code. So far there are too few and too insignificant instances of this to elaborate on this. That may change in the future.TestSuiteBuilder
.CanonicalDataParser
is not intended to be called directly.TestGenerator
s to get an impression how this could look like in practice, but it could be refined in some ways. We could modify them to generate the.scala
, say.hello-world
has changed considerably, so I changed the respective code already.testgen
. This has the usual advantages to clean up the code base, for example using a package object for type declarations and such. But I did not do it for now.And there could be more things to debate. Please let me know what you think.