added functionality to determine if all non-nullable values are set in an associative array passed in for attribute adding to a model with tests