Esempio n. 1
0
        public async Task HasErrors_ShouldReturnCorrectValue(
            IValidationError[] errors,
            string[] properties,
            bool expected,
            [Frozen] Mock <IValidator> validator,
            SampleValidable sut,
            IFixture fixture)
        {
            //arrange
            var values = fixture.CreateMany <string>(properties.Length).ToArray();

            for (var i = 0; i < errors.Length; i++)
            {
                int i1 = i;
                validator.Setup(v => v.Validate(values[i1], properties[i1], It.IsAny <CancellationToken>())).ReturnsTask(() => errors[i1]);
            }

            //act
            for (var i = 0; i < errors.Length; i++)
            {
                await sut.SetValueAsyncPublic(values[i], properties[i], new CancellationTokenSource());
            }

            var actual = await sut.HasErrorsAsync();

            //assert
            actual.Should().Be(expected);
        }
Esempio n. 2
0
        public void GetError_ShouldReturnCorrectValue(
            SampleValidable sut)
        {
            //arrange

            //act
            var actual = sut.GetError("Property");

            //assert
            actual.Should().Be(NoError.Value);
        }
Esempio n. 3
0
        public async Task Sut_WhenSettingProperty_ShouldRaiseBeginValidation(
            [Frozen] Mock <IValidator> validator,
            SampleValidable sut,
            string value,
            CancellationTokenSource cancellationTokenSource)
        {
            //arrange
            sut.MonitorEvents();

            //act
            await sut.SetValueAsyncPublic(value, "Property", cancellationTokenSource);

            //assert
            sut.ShouldRaise("BeginValidation");
        }
Esempio n. 4
0
        public async Task GetError_WithValidatedPropertyWithNoError_ShouldReturnCorrectValue(
            [Frozen] Mock <IValidator> validator,
            SampleValidable sut,
            string value)
        {
            //arrange
            validator.Setup(v => v.Validate(value, "Property", It.IsAny <CancellationToken>()))
            .ReturnsTask(NoError.Value);
            //act
            await sut.SetValueAsyncPublic(value, "Property", new CancellationTokenSource());

            var actual = sut.GetError("Property");

            //assert
            actual.Should().Be(NoError.Value);
        }
Esempio n. 5
0
        public async Task Sut_WhenSettingProperty_ShouldRaiseErrorChanged(
            [Frozen] TestSchedulers schedulers,
            [Frozen] Mock <IValidator> validator,
            SampleValidable sut,
            string value)
        {
            //arrange
            validator.Setup(v => v.Validate(value, "Property", It.IsAny <CancellationToken>()))
            .ReturnsTask(new ValidationError("message", null));
            sut.MonitorEvents();

            //act
            await sut.SetValueAsyncPublic(value, "Property", new CancellationTokenSource());

            //assert
            sut.ShouldRaise("ErrorsChanged");
        }
Esempio n. 6
0
        public async Task HasError_WithPropertyValidatedTwice_ShouldReturnFalse(
            [Frozen] Mock <IValidator> validator,
            SampleValidable sut,
            IValidationError error1,
            string value1,
            string value2)
        {
            //arrange
            validator.Setup(v => v.Validate(value1, "Property", It.IsAny <CancellationToken>())).ReturnsTask(error1);
            validator.Setup(v => v.Validate(value2, "Property", It.IsAny <CancellationToken>())).ReturnsTask(NoError.Value);

            //act
            await sut.SetValueAsyncPublic(value1, "Property", new CancellationTokenSource());

            await sut.SetValueAsyncPublic(value2, "Property", new CancellationTokenSource());

            var actual = await sut.HasError(() => sut.Property);

            //assert
            actual.Should().BeFalse();
        }