It's never stated in the description that all versions need to be related. It's ok to skip versions. This task is about sorting versions, related or not.
I think the rangom tests violate the given assumptions: 'there will always be a rank 1 in the given input ranks are of type string
rank numbers are incremented, and not skippped (1.1 could be followed by 1.2, not 1.3)'
Random test:
['2', '2.1', '2.1.1.1', '2.1.1.1.2', '2.1.1.2', '3', '4']
^ no ^ skipping 2.1.1 here
rank 1 here
The six main tests are somewhat random (using random.shuffle) but they could be better. Generating random "version" strings would not be difficult at all and you could test many more (I usually see ~100 random tests on most katas).
(Optional) The Example Test Cases seem a bit over-complicated. You don't really need to shuffle those lists every time they are run. They could be easily simplified:
It's never stated in the description that all versions need to be related. It's ok to skip versions. This task is about sorting versions, related or not.
fixed
Nice kata to practice sorting with.
This comment is hidden because it contains spoiler information about the solution
python new test framework is required. updated in this fork
I think the rangom tests violate the given assumptions: 'there will always be a rank 1 in the given input ranks are of type string
rank numbers are incremented, and not skippped (1.1 could be followed by 1.2, not 1.3)'
Random test:
['2', '2.1', '2.1.1.1', '2.1.1.1.2', '2.1.1.2', '3', '4']
^ no ^ skipping 2.1.1 here
rank 1 here
I've switched the
expected
andactual
assertion arguments.I've added a bunch of randomised test cases that use a subset of the available test cases.
Yes, I saw the "shuffle part" of the tests. But the solution being always the same, it could be hard coded without a real random test.
Regards,
B4B
I added
#
at the end and got accepted as a valid, separate solution.I don't know what is causing this, but thanks for letting me know :)
@Blind4Basics
,The six main tests are somewhat random (using
random.shuffle
) but they could be better. Generating random "version" strings would not be difficult at all and you could test many more (I usually see ~100 random tests on most katas).Thanks for mentioning that!
It would be nice to have random tests too ! :)
@danarters
,This kata seems familiar but I couldn't find a duplicate after a quick search. Here are a few suggestions in the mean time!
Typo in the description:
skippped -> skipped
It looks like you accidentally reversed the order of the arguments in the tests. It just messes up the error message
{actual} should equal {expected}
.test.assert_equals(expected, actual)
should betest.assert_equals(actual, expected)
(Optional) The
Example Test Cases
seem a bit over-complicated. You don't really need to shuffle those lists every time they are run. They could be easily simplified:(Optional) There is also a fair bit of repetition in your main
Test Cases
. It could be cleaned up quite easily.Thanks!
Loading more items...