Should we expect people asking for review to provide a way to run the code?
We can't do that. Otherwise people posting parts of a larger project would have to turn their code into some kind of MCVE and that would defeat the whole purpose of a peer review ("Yeah you're right about X, but my actual real code does Y" is infuriating, and that's why we ask for your actual, real code and not a MCVE/boiled-down/"simplified version" of the code to be reviewed).
We ask that the code works to the best of OP's knowledge, partly so that we have grounds for considering "where's my bug?" questions as off-topic; that doesn't mean the code in the post has to be compilable and executable out of the question box.
In the case of that specific question, it would have been nice if the OP included the "translated" tests, but they decided that they only wanted the implementation to be peer reviewed - as far as reviewers are concerned, there are no tests.
Of course, not including the tests is making it harder for reviewers to post a rigorous/thorough review: it's up to you to decide whether such a question deserves your upvote or not. But no, not including a way to run or test OP's code does not make the question off-topic.
Should the way to exercise the code be provided in the same language as the code under review?
That's pretty specific to "translation review" questions, and my answer would be that ideally, yes - when a way to exercise the code is provided, it's better for it to be in the same language as the code under review (i.e. in the language the question is tagged with), and then the test code becomes code under review as well.
Remember that some of the best CR answers don't even include code; improving OP's logic and including the refactored code in your answer is very very nice and appreciated, but when the question makes it hard for you to do that without breaking anything or making wild assumptions, it's perfectly fine to just point out what the issues are, rather than going over and above, and actively improve OP's code.