Код IT Загрузка примера кода…

Java main.java
package com.xmlvalidator.service;

import com.xmlvalidator.model.ValidationResult;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.nio.file.Path;

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

class XsdValidatorServiceTest {

    private XsdValidatorService service;
    private Path examplesDir;

    @BeforeEach
    void setUp() {
        service = new XsdValidatorService();
        examplesDir = Path.of("examples").toAbsolutePath();
    }

    @Test
    void validXmlPassesValidation() {
        ValidationResult result = service.validate(
                examplesDir.resolve("book-valid.xml"),
                examplesDir.resolve("book.xsd")
        );
        assertTrue(result.isValid(), result.getSummary());
    }

    @Test
    void invalidXmlFailsValidation() {
        ValidationResult result = service.validate(
                examplesDir.resolve("book-invalid.xml"),
                examplesDir.resolve("book.xsd")
        );
        assertFalse(result.isValid());
        assertFalse(result.getErrors().isEmpty());
    }

    @Test
    void inlineContentValidationWorks() {
        String xsd = """
                <?xml version="1.0" encoding="UTF-8"?>
                <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
                  <xs:element name="note" type="xs:string"/>
                </xs:schema>
                """;
        String xml = """
                <?xml version="1.0" encoding="UTF-8"?>
                <note>Hello</note>
                """;

        ValidationResult result = service.validate(xml, xsd);
        assertTrue(result.isValid());
    }
}
package com.xmlvalidator.service;

import com.xmlvalidator.model.ValidationResult;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.nio.file.Path;

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

class XsdValidatorServiceTest {

    private XsdValidatorService service;
    private Path examplesDir;

    @BeforeEach
    void setUp() {
        service = new XsdValidatorService();
        examplesDir = Path.of("examples").toAbsolutePath();
    }

    @Test
    void validXmlPassesValidation() {
        ValidationResult result = service.validate(
                examplesDir.resolve("book-valid.xml"),
                examplesDir.resolve("book.xsd")
        );
        assertTrue(result.isValid(), result.getSummary());
    }

    @Test
    void invalidXmlFailsValidation() {
        ValidationResult result = service.validate(
                examplesDir.resolve("book-invalid.xml"),
                examplesDir.resolve("book.xsd")
        );
        assertFalse(result.isValid());
        assertFalse(result.getErrors().isEmpty());
    }

    @Test
    void inlineContentValidationWorks() {
        String xsd = """
                <?xml version="1.0" encoding="UTF-8"?>
                <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
                  <xs:element name="note" type="xs:string"/>
                </xs:schema>
                """;
        String xml = """
                <?xml version="1.0" encoding="UTF-8"?>
                <note>Hello</note>
                """;

        ValidationResult result = service.validate(xml, xsd);
        assertTrue(result.isValid());
    }
}