The tests call check_rosters() to compare the expected and actual roster which compares the .count and each of the students’ names. But it does not check the grades in any way (see github).
I just tested that by adding 5 to the parameter grade at the beginning of add_student() and get_roster(). All the tests still succeeded.
I think that’s bug and should be relatively easy to fix. I can do it if I get the OK.
I’m just not sure about the current workflow. I’m under the impression that before issues and PRs on Github we want to discuss issues and changes here in the forum first to get a consensus, right?
You could just raise a PR and let the track maintainers discuss it. The counter-claim to that is that the other languages might have the same bug. Having every maintainer think about the issue is then worthwhile.
8th currently doesn’t have this exercise but I’ll be taking this into consideration when the time comes.
You’re right. The canonical-data.json does the same thing, it just compares the names.
But other tracks have translated this exercise differently, their get_grade() function returns just a list of strings (e.g. Python, C++, Ruby, JavaScript, C#, Java), not roster_t where each of the students has a member grade.
Therefore I think this .grade member should be tested in the C translation.
You could just raise a PR and let the track maintainers discuss it.
Currently whenever somebody opens an issue on the C track (and I guess that applies to PRs, too) it gets automatically closed with a message " Hello. Thanks for opening an issue on Exercism. We are currently in a phase of our journey where we have paused community contributions to allow us to take a breather and redesign our community model. You can learn more in this blog post. **As such, all issues and PRs in this repository are being automatically closed.**"
That’s what I’m trying to do, discuss this issue here in the forum, as recommended by the blog post.