| ReadOnlyAttributeUnchangedValidator.java |  | 0% |  | 0% | 13 | 13 | 25 | 25 | 5 | 5 | 1 | 1 |
| BlankAttributeValidator.java |  | 0% |  | 0% | 12 | 12 | 18 | 18 | 4 | 4 | 1 | 1 |
| DuplicateUsernameValidator.java |  | 0% |  | 0% | 10 | 10 | 16 | 16 | 3 | 3 | 1 | 1 |
| UsernameMutationValidator.java |  | 0% |  | 0% | 11 | 11 | 17 | 17 | 3 | 3 | 1 | 1 |
| EmailExistsAsUsernameValidator.java |  | 0% |  | 0% | 11 | 11 | 17 | 17 | 3 | 3 | 1 | 1 |
| DuplicateEmailValidator.java |  | 0% |  | 0% | 10 | 10 | 17 | 17 | 3 | 3 | 1 | 1 |
| AttributeRequiredByMetadataValidator.java |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 3 | 3 | 1 | 1 |
| ImmutableAttributeValidator.java |  | 0% |  | 0% | 9 | 9 | 15 | 15 | 4 | 4 | 1 | 1 |
| UsernameProhibitedCharactersValidator.java |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 6 | 6 | 1 | 1 |
| PersonNameProhibitedCharactersValidator.java |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 6 | 6 | 1 | 1 |
| RegistrationUsernameExistsValidator.java |  | 0% |  | 0% | 7 | 7 | 15 | 15 | 3 | 3 | 1 | 1 |
| RegistrationEmailAsUsernameEmailValueValidator.java |  | 0% |  | 0% | 8 | 8 | 12 | 12 | 3 | 3 | 1 | 1 |
| RegistrationEmailAsUsernameUsernameValueValidator.java |  | 0% |  | 0% | 8 | 8 | 12 | 12 | 3 | 3 | 1 | 1 |
| BrokeringFederatedUsernameHasValueValidator.java |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 3 | 3 | 1 | 1 |
| UsernameIDNHomographValidator.java |  | 0% |  | 0% | 7 | 7 | 9 | 9 | 3 | 3 | 1 | 1 |
| UsernameHasValueValidator.java |  | 0% |  | 0% | 6 | 6 | 9 | 9 | 3 | 3 | 1 | 1 |