Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Mazy Mice Exercise to the Repository #2312

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

rabestro
Copy link

@rabestro rabestro commented Sep 1, 2023

This commit introduces a new exercise named 'Mazy Mice'. The exercise is designed to implement a maze generator that produces perfect mazes, i.e., mazes that have only one correct path, without any isolated sections. User must also adhere to the restrictions about the maze's size and layout depicted in the problem description. Tasks also include a description of how the mazes should be visually represented. The commit also includes canonical data for testing the described functionality.

This commit introduces a new exercise named 'Mazy Mice'. The exercise is designed to implement a maze generator that produces perfect mazes, i.e., mazes that have only one correct path, without any isolated sections. User must also adhere to the restrictions about the maze's size and layout depicted in the problem description. Tasks also include a description of how the mazes should be visually represented. The commit also includes canonical data for testing the described functionality.
@rabestro rabestro requested a review from a team as a code owner September 1, 2023 13:57
@github-actions
Copy link
Contributor

github-actions bot commented Sep 1, 2023

Hello. Thanks for opening a PR 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 doesn't mean we're not interested in your ideas, or that if you're stuck on something we don't want to help. The best place to discuss things is with our community on the Exercism Community Forum. You can use this link to copy this into a new topic there.


Note: If this PR has been pre-approved, please link back to this PR on the forum thread and a maintainer or staff member will reopen it.

Adjusted the format of the 'Mazy Mice' exercise description to enhance legibility. Added separate lines before the maze example sections to clearly differentiate them from the surrounding text. These changes improve the user's reading experience, making it easier for them to understand the task.
@IsaacG IsaacG reopened this Sep 1, 2023
@IsaacG
Copy link
Member

IsaacG commented Sep 1, 2023

Please add a forum link to this discussion.

@rabestro
Copy link
Author

rabestro commented Sep 1, 2023

Please add a forum link to this discussion.
https://forum.exercism.org/t/add-mazy-mice-exercise-to-the-repository/7113

@rabestro rabestro closed this Sep 1, 2023
@rabestro rabestro reopened this Sep 1, 2023
@ErikSchierboom
Copy link
Member

Thanks for creating the PR! I am not entirely sure how useful the canonical data is right now as the current format does not really allow for easy test generation. This is not something this PR can do a ton about, as randomness is really hard.

It might be worth looking at how we deal with randomness in other canonical data:

I think the idea of a maze generator is really cool, I'd just like us to think a bit on how to best structure the canonical data to allow it to be as helpful as it can be for implementing tracks. CC @exercism/reviewers

Expanded the comment section in the canonical-data.json file for the "mazy-mice" exercise to provide a more detailed guideline on the required checks for a generated maze. These include confirming correct maze dimensions, valid character use, singular entrance and exit, perfection of the maze and its randomness.
Indentation in the maze diagrams within the mazy-mice exercise was inconsistent. The changes ensure tabs are uniformly used for all lines to improve readability and consistency in presentation.
Headings levels in the "mazy-mice/description.md" were adjusted for better organization. '# Hints' was changed to '## Hints' and '## Maze generation' and '## Box drawing characters' changed to '###'. This allows for an improved logical hierarchy and readability of the document.
Removed the Box-drawing reference link from the code block area to the bottom of the document under the "Maze generation" section. This change was proposed to enhance the readability of the document and provide the link at a more appropriate location.
Expanded test coverage for the 'generateMaze' functionality in the Mazy Mice exercise. This includes tests for maze dimensions, character validity, maze entrance and exit, and more. Additionally, replaced 'createMaze' with 'generateMaze' in existing test cases to ensure consistency. These changes aim to provide a more comprehensive evaluation of the generateMaze function's correctness and robustness.
@rabestro
Copy link
Author

I think the idea of a maze generator is really cool, I'd just like us to think a bit on how to best structure the canonical data to allow it to be as helpful as it can be for implementing tracks. CC @exercism/reviewers

I have updated the canonical data with additional test cases and provided a Java implementation, which can be found at exercism/java#2355. However, I am encountering an issue with my markdown formatting and the CI/CD process is failing as a result. I am unsure of what steps to take to correct the formatting error.

@ErikSchierboom
Copy link
Member

@rabestro You can format the file using:

yarn install
yarn run format-md

@ErikSchierboom
Copy link
Member

I have updated the canonical data with additional test cases

The expected values are still string values. Did you look at the examples I listed? If so, what did you think? CC @exercism/reviewers for thoughts on how to best structure this canonical data

Changed the casing of a markdown hyperlink reference to maintain consistency. Also adjusted the formatting of the 'Box drawing characters' table for better legibility. These changes aim to improve the readability and adherence of the documentation to markdown standards.
@rabestro
Copy link
Author

@rabestro You can format the file using:

yarn install
yarn run format-md

fixed, thank you!

@rabestro rabestro closed this Sep 19, 2023
In the 'exercises/mazy-mice/canonical-data.json' file, the results format for each test case has been updated. Instead of providing an expected result as a string, a boolean or an object structure is used. The change is performed to improve the test result validation process. Boolean values help to clearly identify the pass/fail status, while the object returns the expected maze dimensions, allowing for more detailed automated test result evaluations.
@ErikSchierboom
Copy link
Member

Did you mean to close it?

@rabestro
Copy link
Author

I have updated the canonical data with additional test cases

The expected values are still string values. Did you look at the examples I listed? If so, what did you think? CC @exercism/reviewers for thoughts on how to best structure this canonical data

I changed to numbers and boolean values

@rabestro rabestro closed this Sep 19, 2023
@rabestro
Copy link
Author

rabestro commented Sep 19, 2023

Did you mean to close it?

No, I just closed the comments. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants