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 "D&D Character" practice exercise #2753

Merged
merged 33 commits into from
Jan 30, 2024

Conversation

jesse-kroon
Copy link
Contributor

@jesse-kroon jesse-kroon commented Jan 27, 2024

As per the #48in24 challenge implementation status page.

Copy link
Contributor

Hello. Thanks for opening a PR on Exercism 🙂

We ask that all changes to Exercism are discussed on our Community Forum before being opened on GitHub. To enforce this, we automatically close all PRs that are submitted. That doesn't mean your PR is rejected but that we want the initial discussion about it to happen on our forum where a wide range of key contributors across the Exercism ecosystem can weigh in.

You can use this link.&category=go ) to copy this into a new topic on the forum. If we decide the PR is appropriate, we'll reopen it and continue with it, so please don't delete your local branch.

If you're interested in learning more about this auto-responder, please read this blog post.


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.

@github-actions github-actions bot closed this Jan 27, 2024
@jesse-kroon jesse-kroon marked this pull request as ready for review January 29, 2024 10:04
Copy link
Member

@andrerfcsantos andrerfcsantos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great work, thanks for powering it through!

Did a first pass review.

config.json Outdated Show resolved Hide resolved
config.json Outdated Show resolved Hide resolved
exercises/practice/dnd-character/.meta/config.json Outdated Show resolved Hide resolved
config.json Outdated Show resolved Hide resolved
exercises/practice/dnd-character/.meta/example.go Outdated Show resolved Hide resolved
exercises/practice/dnd-character/dnd_character_test.go Outdated Show resolved Hide resolved
exercises/practice/dnd-character/dnd_character_test.go Outdated Show resolved Hide resolved
exercises/practice/dnd-character/dnd_character_test.go Outdated Show resolved Hide resolved
exercises/practice/dnd-character/.meta/example.go Outdated Show resolved Hide resolved
exercises/practice/dnd-character/.meta/example.go Outdated Show resolved Hide resolved
Copy link
Member

@andrerfcsantos andrerfcsantos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's get this live! 🎉

Did some small changes to the tests since your last modifications. After all the work you did I didn't want to bore you with more work. The changes I've made:

  • Made code that would generate scores for abilities slightly off the ranges, and noticed that just 100 iterations were not enough to reliably catch those cases. Ran the tests several times and it was somewhat easy to get tests passing when they shouldn't. Changed to 1000 iterations and it was a lot harder to get tests passing with the same wrong code.
  • In TestModifier, changed the failure message to print tc.input.Score instead of tc.input. In case of failures, it was printing the message as Modifier({3}) = -3, want -4, now prints Modifier(3) = -3, want -4.
  • Changed the order of benchmarks of each function to match the order by which the students have to implement the functions being benchmarked. Go runs the benchmarks by the order they are declared, and it was weird to see BenchmarkModifier be the last benchmark when Modifier is the first function students should implement.

@jesse-kroon Thanks again for doing this and for pushing it through despite all the hurdles.

@andrerfcsantos andrerfcsantos merged commit 941e86a into exercism:main Jan 30, 2024
12 checks passed
@andrerfcsantos andrerfcsantos added the x:rep/large Large amount of reputation label Jan 30, 2024
@jesse-kroon
Copy link
Contributor Author

Thanks for the final edits @andrerfcsantos ! Good stuff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:rep/large Large amount of reputation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants