import Foundation import Testing @testable import LocalData @Suite struct UserDefaultsHelperTests { private let helper = UserDefaultsHelper.shared @Test func standardUserDefaultsRoundTrip() async throws { let key = "test.standard.key" let data = Data("standard-value".utf8) try await helper.set(data, forKey: key, suite: nil) let retrieved = try await helper.get(forKey: key, suite: nil) #expect(retrieved == data) let exists = try await helper.exists(forKey: key, suite: nil) #expect(exists == true) try await helper.remove(forKey: key, suite: nil) let afterDelete = try await helper.get(forKey: key, suite: nil) #expect(afterDelete == nil) } @Test func suiteUserDefaultsRoundTrip() async throws { let suiteName = "com.test.suite.\(UUID().uuidString)" let key = "test.suite.key" let data = Data("suite-value".utf8) try await helper.set(data, forKey: key, suite: suiteName) let retrieved = try await helper.get(forKey: key, suite: suiteName) #expect(retrieved == data) let keys = try await helper.allKeys(suite: suiteName) #expect(keys.contains(key)) try await helper.remove(forKey: key, suite: suiteName) // Cleanup UserDefaults().removePersistentDomain(forName: suiteName) } }