This seems a little tricky but definitely doable. Maybe factoring out the part that creates the actual chosen from the part that interacts with it and does the asserts would be possible.

Is the lack of Prototype tests something that would stop this PR being from being merged?