public void ValidateHeaders_WhenSomeHeadersAreNotAvailable_ShouldReturnCorrectValidationResult()
        {
            // Arrange
            IList <FieldDefinition> fieldDefinitionsTestData = CreateFieldDefinitions();
            IList <string>          headerFields             = new List <string>()
            {
                RequiredHeaderName
            };
            RequiredHeaderExistsValidator requiredHeaderExistsValidator = new RequiredHeaderExistsValidator(fieldDefinitionsTestData);

            // Act
            IList <HeaderValidationResult> invalidResults = requiredHeaderExistsValidator.ValidateHeaders(headerFields);

            // Assert
            invalidResults
            .Count
            .Should().Be(2);

            invalidResults
            .Should()
            .Contain(vr => vr.FieldDefinitionValidated.Name == RequiredHeaderRid);

            invalidResults
            .Should()
            .Contain(vr => vr.FieldDefinitionValidated.Name == RequiredHeaderUpin);
        }
        public void ValidateHeaders_WhenAllHeadersAreAvailable_ShouldReturnCorrectValidationResult()
        {
            // Arrange
            IList <FieldDefinition> fieldDefinitionsTestData = CreateFieldDefinitions();
            IList <string>          headerFields             = new List <string>()
            {
                RequiredHeaderName,
                RequiredHeaderRid,
                RequiredHeaderUpin
            };
            RequiredHeaderExistsValidator requiredHeaderExistsValidator = new RequiredHeaderExistsValidator(fieldDefinitionsTestData);

            // Act
            IList <HeaderValidationResult> invalidResults = requiredHeaderExistsValidator.ValidateHeaders(headerFields);

            // Assert
            invalidResults
            .Should().BeEmpty();
        }