package com.svnlog.web.service; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.Arrays; import java.util.Collections; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class AiInputValidatorTest { @Test public void shouldRejectEmptyListWhenValidatingInputFiles() { AiInputValidator validator = new AiInputValidator(); Assertions.assertThrows(IllegalArgumentException.class, () -> validator.validate(Collections.emptyList())); } @Test public void shouldRejectNonMarkdownFileWhenValidatingInputFiles() throws Exception { AiInputValidator validator = new AiInputValidator(); Path temp = Files.createTempFile("ai-input", ".txt"); Files.write(temp, "abc".getBytes(StandardCharsets.UTF_8)); Assertions.assertThrows(IllegalArgumentException.class, () -> validator.validate(Arrays.asList(temp))); } @Test public void shouldAcceptSmallMarkdownFilesWhenValidatingInputFiles() throws Exception { AiInputValidator validator = new AiInputValidator(); Path temp = Files.createTempFile("ai-input", ".md"); Files.write(temp, "# title".getBytes(StandardCharsets.UTF_8)); validator.validate(Arrays.asList(temp)); Assertions.assertTrue(true); } }