added final tests & exceptions for non-colors and empty lists