Add tests around aggregation
* Use exception defined in own gem
* Check valid aggregation types at beginning of method
* Set sums to zero at start to simplify logic