public void Should_Detect_Not_Unique_Ids()
        {
            // arrange
            var validator = new BookTransportValidator();
            var xmlPath   = ReturnXmlFullPath("books_not_unique_id.xml", XmlValidation);

            // act
            var result = validator.ValidateXmlFile(xmlPath, out var errors);

            // assert
            Assert.IsFalse(result);
            Assert.AreEqual(2, errors.Length);
        }
        public void Should_Detect_Error_In_ISBN_Element()
        {
            // arrange
            var validator = new BookTransportValidator();
            var xmlPath   = ReturnXmlFullPath("books_incorrect_isbn.xml", XmlValidation);

            // act
            var result = validator.ValidateXmlFile(xmlPath, out var errors);

            // assert
            Assert.IsFalse(result);
            Assert.AreEqual(1, errors.Length);
        }
        public void Should_Detect_Wrong_Genre()
        {
            // arrange
            var validator = new BookTransportValidator();
            var xmlPath   = ReturnXmlFullPath("books_wrong_genre.xml", XmlValidation);

            // act
            var result = validator.ValidateXmlFile(xmlPath, out var errors);

            // assert
            Assert.IsFalse(result);
            Assert.AreEqual(3, errors.Length);
        }
        public void Should_Validate_Successful()
        {
            // arrange
            var validator = new BookTransportValidator();
            var xmlPath   = ReturnXmlFullPath("books_valid.xml", XmlValidation);

            // act
            var result = validator.ValidateXmlFile(xmlPath, out var errors);

            // assert
            Assert.IsTrue(result);
            Assert.IsFalse(errors.Any());
        }