Fix _extract_evaluation_year() to use END_INVYR from POP_EVAL#81
Merged
Fix _extract_evaluation_year() to use END_INVYR from POP_EVAL#81
Conversation
The method parsed EVALID strings with fixed-position slicing (SSYYTT), which fails for single-digit FIPS codes and referenced a nonexistent self.db.evalids attribute (the correct attribute is self.db.evalid), making the entire EVALID parsing block dead code. Replace with END_INVYR lookup from POP_EVAL filtered by the current EVALID. Remove the now-unused EVALIDYearParsing constants class and its tests. Closes #80
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.
Summary
_extract_evaluation_year()inbase.pyhad two bugs: it referencedself.db.evalids(nonexistent attribute — correct isself.db.evalid), making the EVALID parsing block dead code, and used the same broken fixed-width SSYYTT parsing as EVALID year parsing fails for single-digit state FIPS codes #78END_INVYRlookup fromPOP_EVALfiltered by current EVALID — consistent with the approach in Fix EVALID year parsing for single-digit state FIPS codes #79EVALIDYearParsingconstants class fromdefaults.pyand its 9 tests fromtest_defaults.pyTest plan
EVALIDYearParsingclass)Closes #80