TestAssembly.swift 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import CoreData
  2. import Foundation
  3. import Swinject
  4. @testable import Trio
  5. class TestAssembly: Assembly {
  6. private let testContext: NSManagedObjectContext
  7. init(testContext: NSManagedObjectContext) {
  8. self.testContext = testContext
  9. }
  10. func assemble(container: Container) {
  11. // Override PumpHistoryStorage registration for tests
  12. container.register(PumpHistoryStorage.self) { r in
  13. BasePumpHistoryStorage(resolver: r, context: self.testContext)
  14. }.inObjectScope(.container)
  15. // Override DeterminationStorage registration for tests
  16. container.register(DeterminationStorage.self) { r in
  17. BaseDeterminationStorage(resolver: r, context: self.testContext)
  18. }.inObjectScope(.container)
  19. // Override CarbsStorage registration for tests
  20. container.register(CarbsStorage.self) { r in
  21. BaseCarbsStorage(resolver: r, context: self.testContext)
  22. }.inObjectScope(.container)
  23. // Override GlucoseStorage registration for tests
  24. container.register(GlucoseStorage.self) { r in
  25. BaseGlucoseStorage(resolver: r, context: self.testContext)
  26. }.inObjectScope(.container)
  27. // Override TempTargetStorage registration for tests
  28. container.register(TempTargetsStorage.self) { r in
  29. BaseTempTargetsStorage(resolver: r, context: self.testContext)
  30. }.inObjectScope(.container)
  31. // Override OverrideStorage registration for tests
  32. container.register(OverrideStorage.self) { r in
  33. BaseOverrideStorage(resolver: r, context: self.testContext)
  34. }.inObjectScope(.container)
  35. }
  36. }