You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Apple/Sources/AllInApp/AllInTests/AllInTests.swift

54 lines
1.1 KiB

//
// AllInTests.swift
// AllInTests
//
// Created by Emre on 19/09/2023.
//
import XCTest
@testable import AllIn
final class AllInTests: XCTestCase {
func testInstance() {
DependencyInjection.shared.addSingleton(UserTest.self, UserTest(age: 10))
let view1 = View1()
let view2 = View2()
XCTAssertEqual(view1.getAge(), view2.getAge())
view1.setAge()
XCTAssertEqual(view1.getAge(), view2.getAge())
view2.setAge()
XCTAssertEqual(view1.getAge(), view2.getAge())
}
class UserTest {
public var age:Int
init(age:Int) {
self.age = age
}
}
class View1 {
@Inject private var user:UserTest
func getAge() -> Int {
return user.age
}
func setAge() {
user.age = 20
}
}
class View2 {
@Inject private var user:UserTest
func getAge() -> Int {
return user.age
}
func setAge() {
user.age = 40
}
}
}