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.
54 lines
1.1 KiB
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
|
|
}
|
|
}
|
|
|
|
}
|