Created by: ryanslade
This makes it easier to check if an error is a warning without resorting to errors.As
Added new tests