This is similar to cppaigner but this is templated to allow for numeric comparisons