isbn-verifier 2.7.0#745
Merged
petertseng merged 7 commits intoexercism:masterfrom Nov 20, 2018
petertseng:isbn
Merged
Conversation
2.0.0: Change property name from isbn to isValid. Doesn't affect how Rust track translates the property name to Rust. exercism/problem-specifications#999 2.1.0: Move inputs to input object exercism/problem-specifications#1053
Set new test case to be 3-598-P1581-X. It should avoid solutions to pass - when inside characters (P) is treat as 0. 3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 0 * 6 + 1 * 5 + 5 * 4 + 8 * 3 + 1 * 2 + 10 * 1 = 264 264 is divisible by 11. The previous case did NOT have this property: 3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 0 * 5 + 5 * 4 + 0 * 3 + 7 * 2 + 0 * 1 = 249 249 is NOT divisible by 11. exercism/problem-specifications#1212 exercism/problem-specifications#1217
``` 1 * 10 + 3 * 9 + 4 * 8 + 4 * 7 + 5 * 6 + 6 * 5 + 7 * 4 + 2 * 3 + 9 * 2 = 209 ``` 209 is divisible by 11. Thus, an implementation that appends 0 will incorrectly accept this case. exercism/problem-specifications#1216 exercism/problem-specifications#1221
This is a test case that would be accepted by an implementation where an invalid character is simply dropped. exercism/problem-specifications#1218 exercism/problem-specifications#1245
If your code verify the isbn length to be only less than or equal to 10, it will accept some ISBN with less than 10 digits which still satisfy other rules, being "00" a case which could be considered ISBN by some "almost correct" solutions missing this consideration. exercism/problem-specifications#1223 exercism/problem-specifications#1251 exercism/problem-specifications#1252
This commit adds an input that will be incorrectly validated by algorithms that don't explicitly check the length of their inputs, as discussed in: exercism/problem-specifications#1199 exercism/problem-specifications#993 For example, if an algorithm only checks the first (or last) ten digits of the input, ignoring leftovers, it will pass the current test suite even though it doesn't correctly implement the spec. exercism/problem-specifications#1255
coriolinus
approved these changes
Nov 20, 2018
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.