Added tests for the Feature.PASSIVE and Feature.PERFECT functionality.

These aren't all emcompassing, but they will flag up if I break something.