Ambiguous Requirements in C# Track's High School Sweethearts Test

The requirements for this exercise say to, “implement the static HighSchoolSweethearts.DisplaySingleLine() method to take 2 names and display them separated by a heart centered in a 61 character line.” I read that (many times) to mean that the names, separated by a heart, should be centered on the line, but if the test is to be trusted, it really means that the names should be separated by a heart that is centered on the line. Maybe it’s just me, but it seems like this could be expressed more clearly.

There’s also an example which illustrates what it means:

HighSchoolSweethearts.DisplaySingleLine("Lance Green", "Pat Riley");
// => "                  Lance Green ♡ Pat Riley                    "

Do you have a suggestion as to how it can be better worded?

How about, "implement the static HighSchoolSweethearts.DisplaySingleLine() method to take 2 names and display them separated by a heart, with the heart centered in a 61 character line.”

The illustration is fine, but the difference is pretty subtle.

Note: I’m not a C# maintainer but if we come up with a really nice option, they may invite a PR for it. Or they may prefer not to make changes at this time, as Exercism tracks, in general, aren’t accepting contributions.

Would that requirement sentence be more readable if it was split into multiple sentences? Something like

Implement the static HighSchoolSweethearts.DisplaySingleLine() method to take 2 names and prints them on a formatted line. The line should be 61 characters long. The line should have the names centered on the line and separated by a heart.

That makes it sound like the formatted string should be centered, which is where I went wrong.

I mention this to be helpful, but it seems like hundreds have worked it out before me, so maybe it’s not worth bothering with.

It never hurts to discuss the issue. Other students may be confused, search the forums and find this topic, which can help them understand what’s going on.

But do read Freeing our maintainers. Some maintainers are accepting some PRs, others are not. One of the C# maintainers may chime in here.

I’m open to a PR that improves the wording. @padeso do you have a suggested wording?

Is this better?

I like IsaacG’s wording:

Feel free to tweak it, too :slight_smile: If you don’t have any updates for it, you can check in with Erik and, if he likes it, fire off a PR!

I don’t think I can create a PR, @IsaacG; I tried for another requirement issue and it was automatically closed.

All PRs will be auto-closed. But if you have the go-ahead from the maintainer, they can reopen the PR once you create it.

Yeah. Just point me to the PR.

I’m a little wobbly with pull request protocol, but I think I did it. The pull request is #2103. Is that all you need?

What’s the full link? PR 2103 looks unrelated.