Finish PrintRule
Add a complete end to end test