public async Task ValidateAsync_WhenInputValidationIsSuccess_ShouldReturnSuccessHubRequestValidationResult(
            [Frozen] Mock <IRuleEngine <ChangeOfChargesMessage> > ruleEngine,
            [NotNull] ChangeOfChargesInputValidator sut)
        {
            ruleEngine.Setup(re => re.ValidateAsync(It.IsAny <ChangeOfChargesMessage>()))
            .ReturnsAsync(RuleResultCollection.From(new List <RuleResult>()));

            var validationResult = await sut.ValidateAsync(new ChangeOfChargesMessage()).ConfigureAwait(false);

            Assert.Empty(validationResult.Errors);
            Assert.True(validationResult.Success);
        }
        public async Task ValidateAsync_WhenInputValidationResultsContainsOneError_ShouldReturnHubRequestValidationResultWithOneElement(
            [Frozen] Mock <IRuleEngine <ChangeOfChargesMessage> > ruleEngine,
            [NotNull] ChangeOfChargesInputValidator sut)
        {
            var ruleResults = new List <RuleResult>
            {
                new RuleResult("rule01", "msg01"),
            };

            ruleEngine.Setup(re => re.ValidateAsync(It.IsAny <ChangeOfChargesMessage>()))
            .ReturnsAsync(RuleResultCollection.From(ruleResults));

            var validationResult = await sut.ValidateAsync(new ChangeOfChargesMessage()).ConfigureAwait(false);

            Assert.Equal(1, validationResult.Errors.Count);
            Assert.False(validationResult.Success);
        }