- Created DomainModelValidator class as the base abstract class for domain model validator implementations;
- Inherited LengthValidator and PresenceValidator from DomainModelValidator base class.
- Created the unit test class DomainModelValidatorTest;
- Moved all common unit test logic from LengthValidatorTest and PresenceValidatorTest into DomainModelValidatorTest class.
Added unit tests covered incorrect count placeholder in LengthValidator messages.
- Marked some mock domain object properties by ValidateLength attribute;
- Set default values for ValidateLengthAttribute class properties;
- Implemented length validation functionality in ValidationController class;
- Covered validation controller by unit tests.
- Implemented the set of unit test for ValidateLengthAttribute methods;
- Implemented the special method checking consistency of ValidateLengthAttribute internal state;
- Fixed all code analyzer warnings;
- Removed duplicated code.