PSLmodels / Tax-Brain

Tax-Brain is an integrator model for PSL tax models
http://taxbrain.pslmodels.org/
MIT License
9 stars 14 forks source link

Fix TBI Bugs #31

Closed andersonfrailey closed 5 years ago

andersonfrailey commented 5 years ago

This PR fixes a couple bugs with how the TBI processes user inputs before validating them and using the user mods to create a random seed for fuzzing the PUF. It does not change the functionality of the TBI.

cc @hdoupe

andersonfrailey commented 5 years ago

Latest commit patches a bug in the post processing function of the TBI noticed by @hdoupe that only is triggered when running the TBI for more than one year. A quick summary of the bug:

When the TBI was using individual Tax-Calculator objects rather than the TaxBrain class, it would produce a list of multiple, single year DataFrames. It would then replace the columns of each DataFrame with a year and concatenate them all together. Now that it's using the TaxBrain class, a single full DataFrame is produced. When the postprocesswould try and replace the columns of that DataFrame with a single value, and error would be thrown.

The reason this wasn't caught earlier is all of the TBI tests only ran for a single year, so the error never happened. I'll be adding a test to run the TBI for multiple years before merging this PR so something like this doesn't happen again shortly.