public RaceLogic(
            IRaceManager raceManager,
            IStartListManager startListManager,
            RaceValidator validator)
        {
            this.raceManager      = raceManager ?? throw new ArgumentNullException(nameof(raceManager));
            this.startListManager = startListManager ?? throw new ArgumentNullException(nameof(startListManager));

            this.validator = validator ?? throw new ArgumentNullException(nameof(validator));
        }
예제 #2
0
        public void ValidateDefaultRaceTest()
        {
            // Arrange
            var validators = new RaceValidator();
            var skier      = new Race();

            // Act
            var result = validators.Validate(skier);

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal(2, result.Errors.Count);

            Assert.Equal(ErrorCode.NotEmpty, result.ErrorCodeFor(nameof(Race.Name)));
            Assert.Equal(ErrorCode.ForeignKey, result.ErrorCodeFor(nameof(Race.LocationId)));
        }