0
Hidden test cases
When doing a practice code, some test cases are hidden, why? I just submitted a code and all test cases were positive, but one hidden one. I couldn't see why was it wrong, since it's locked. I was namely doing Lists V test, but it was happening before with other tests in Python Core course. What gives? How could i unlock those locked test cases?
21 Réponses
+ 4
when input n = -100, n is <= 7
+ 5
Igor Matić ,
we can make the code a bit more clear like:
> if the input number is in the range() of *0* upto the *length of the list*:
output the item from the list by using the input as an index [...]
else:
output the required *error message* (check the spelling of the message)
+ 5
Hidden test cases are very common on most coding platforms and MOOC's. Your code should always perform correctly according to the challenge, otherwise a student could game the system by hard coding the output.
+ 5
IMO, Sololearn is the most user friendly platform for an introduction to coding. You get byte sized lessons and a bunch of experts that hang around to help newbies.
If someone is jaded because of hidden test cases they will be even more so if/when they take a Computer Science course from one of the big MOOC'S or begin climbing the ladders at hackerrank where 8 of 10 cases are commonly hidden.
As Lisa pointed out, if the test cases don't pass the logic is incorrect.
+ 3
It clearly says in the yask description "if n < 0 or n >7". That is NOT "knowledge not taught".
If a task cannot be solved with the course knowledge, the task is INADEQUATE, not the test case. Hidden test cases are necessary so people focus on the logic instead of focusing on the output.
+ 2
no. it means the logic of your code doesn't meet the task instruction
+ 2
Igor Matić ,
I'm also one of the ones who believes the test cases should not be hidden, especially since to pass some of them requires knowledge not taught. (What a nasty trick, that!) I always passed them, but only because I'm a non-newbie who can rely on previous knowledge.
Make a suggestion by sending Feedback via the main menu or emailing info@sololearn.com as I did.
+ 2
Rain Thanks for telling me how sl works, but sl broke tagging and it only works at random. Reported it multiple times.
+ 1
you find the ossue by comparing your code to the task instruction and think about which input would break your code.
if you need help with your code, give a complete task description and show your code.
+ 1
hidden test cases exist because if you could see the input you could just do an if statement to match all the inputs provided and output the expected output, which would be kinda cheating
0
So, hidden cases may require a more advanced approach than what the lesson is teaching at the moment, in order to be correct?
0
But how do i see where is the error? It's just one test case out of 5 that is wrong.
0
I did so, included the required conditions as it stands in the task.
https://ibb.co/sPtBJGZ the task.
https://ibb.co/LgBhnKW test cases.
0
Ah, i see, so my code would take negative input and work with it in both statements. Thank you.
I was thinking this whole time about a way to do the comparison if user input was a string, but that wasn't in the task, and brain stopped working. :)
0
Lisa ,
To address a comment to someone, type @, and choose their name from the list.
0
Lothar there was no mention of ranges in the course so far.
0
Lisa i understand that.
But on the other hand, i believe test cases are meant to serve as feedback, no? And "the code is broken here, fix it" is imho more valid feedback than "the code is broken, fix it".
0
Keith ,
You can only game the system to pass one test case at a time, so even with all test cases visible, you would still have to write performant code to pass all of them.
The cheaters don't need to game the system or write good code, because they can just copy code from the comments and breeze through to a certificate without understanding anything. The hidden test cases don't hurt the cheaters. They hurt the people who want to debug their own code and learn how things work.
And you haven't addressed that Sololearn sometimes test things before teaching them.
0
Keith ,
You still haven't addressed Sololearn's nasty habit of testing what it hasn't taught.