import XCTest @testable import Sora final class FolderHierarchyTests: XCTestCase { func testTopLevelFolderIncludesRootFolderAndNestedChildren() { let rootFolder = SettingsFolder( name: "Artists", id: UUID(uuidString: "00000000-0000-0000-0000-000000000001")! ) let nestedFolder = SettingsFolder( name: "Artists | Layout", id: UUID(uuidString: "00000000-0000-0000-0000-000000000002")! ) let unrelatedFolder = SettingsFolder( name: "Characters | Lead", id: UUID(uuidString: "00000000-0000-0000-0000-000000000003")! ) let hierarchy = FolderHierarchy(folders: [rootFolder, nestedFolder, unrelatedFolder]) XCTAssertTrue(hierarchy.isInTopLevelFolder(rootFolder.id, named: "Artists")) XCTAssertTrue(hierarchy.isInTopLevelFolder(nestedFolder.id, named: "Artists")) XCTAssertFalse(hierarchy.isInTopLevelFolder(unrelatedFolder.id, named: "Artists")) XCTAssertFalse(hierarchy.isInTopLevelFolder(nil, named: "Artists")) } func testTopLevelUncategorizedOnlyMatchesRootFolder() { let rootFolder = SettingsFolder( name: "Artists", id: UUID(uuidString: "00000000-0000-0000-0000-000000000011")! ) let nestedFolder = SettingsFolder( name: "Artists | Layout", id: UUID(uuidString: "00000000-0000-0000-0000-000000000012")! ) let hierarchy = FolderHierarchy(folders: [rootFolder, nestedFolder]) XCTAssertTrue(hierarchy.isInTopLevelUncategorized(rootFolder.id, named: "Artists")) XCTAssertFalse(hierarchy.isInTopLevelUncategorized(nestedFolder.id, named: "Artists")) XCTAssertFalse(hierarchy.isInTopLevelUncategorized(nil, named: "Artists")) } }