import CoreData import Foundation import Swinject import Testing @testable import Trio @Suite("Override Storage Tests") struct OverrideStorageTests: Injectable { @Injected() var storage: OverrideStorage! let resolver: Resolver let coreDataStack = CoreDataStack.createForTests() let testContext: NSManagedObjectContext init() { // Create test context // As we are only using this single test context to initialize our in-memory DeterminationStorage we need to perform the Unit Tests serialized testContext = coreDataStack.newTaskContext() // Create assembler with test assembly let assembler = Assembler([ StorageAssembly(), ServiceAssembly(), APSAssembly(), NetworkAssembly(), UIAssembly(), SecurityAssembly(), TestAssembly(testContext: testContext) // Add our test assembly last to override Storage ]) resolver = assembler.resolver injectServices(resolver) } @Test("Storage is correctly initialized") func testStorageInitialization() { // Verify storage exists #expect(storage != nil, "OverrideStorage should be injected") // Verify it's the correct type #expect(storage is BaseOverrideStorage, "Storage should be of type BaseOverrideStorage") } }