package com.superbiz.agent.graph.diagnosis; import org.junit.jupiter.api.Test; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class DiagnosisGraphTestSuiteStructureTest { private static final Path TEST_ROOT = Path.of( "src", "test", "java", "com", "superbiz", "agent"); @Test void authoritativeGraphLayersExistWithoutSequentialOrHookImplementationTests() throws IOException { List authoritativeTests = List.of( graphTest("DiagnosisGraphWorkflowTest.java"), graphTest("DiagnosisGraphNodeContractTest.java"), TEST_ROOT.resolve(Path.of( "service", "ChatServiceGraphIntegrationTest.java"))); authoritativeTests.forEach(path -> assertTrue( Files.isRegularFile(path), "missing authoritative test: " + path)); assertFalse(Files.exists(TEST_ROOT.resolve(Path.of( "service", "ChatServiceSequentialAgentTest.java")))); assertFalse(Files.exists(TEST_ROOT.resolve(Path.of( "hook", "VerifierInputHookTest.java")))); for (Path path : authoritativeTests) { String source = Files.readString(path); assertFalse(source.contains("SequentialAgent"), path.toString()); assertFalse(source.contains("VerifierInputHook"), path.toString()); } } private Path graphTest(String fileName) { return TEST_ROOT.resolve(Path.of("graph", "diagnosis", fileName)); } }