//
//  AudioPlaybackKitTests.swift
//  AudioPlaybackKitTests
//
//  Created by Matt Bruce on 9/8/25.
//

import XCTest
@testable import AudioPlaybackKit

final class AudioPlaybackKitTests: XCTestCase {
    
    func testSoundModel() throws {
        let sound = Sound(
            name: "Test Sound",
            fileName: "test.mp3",
            category: "test",
            description: "Test description"
        )
        
        XCTAssertEqual(sound.name, "Test Sound")
        XCTAssertEqual(sound.fileName, "test.mp3")
        XCTAssertEqual(sound.category, "test")
    }
    
    func testSoundConfigurationService() throws {
        let service = SoundConfigurationService.shared
        let sounds = service.getAvailableSounds()
        
        // Should have fallback sounds if no configuration is loaded
        XCTAssertFalse(sounds.isEmpty)
    }
    
    func testWakeLockService() throws {
        let service = WakeLockService.shared
        
        // Initially should not be active
        XCTAssertFalse(service.isActive)
        
        // Enable wake lock
        service.enableWakeLock()
        XCTAssertTrue(service.isActive)
        
        // Disable wake lock
        service.disableWakeLock()
        XCTAssertFalse(service.isActive)
    }
}
