@@ -66,33 +66,36 @@ final class DependencyValuesTests: XCTestCase {
6666 }
6767
6868 func testDependencyDefaultIsReused( ) {
69- DependencyValues . withValue ( \. self, . init( ) ) {
70- @Dependency ( \. reuseClient) var reuseClient : ReuseClient
69+ DependencyValues . withValue ( \. self, . init( ) ) {
70+ DependencyValues . withValue ( \. context, . test) {
71+ @Dependency ( \. reuseClient) var reuseClient : ReuseClient
7172
72- XCTAssertEqual ( reuseClient. count ( ) , 0 )
73- reuseClient. setCount ( 42 )
74- XCTAssertEqual ( reuseClient. count ( ) , 42 )
73+ XCTAssertEqual ( reuseClient. count ( ) , 0 )
74+ reuseClient. setCount ( 42 )
75+ XCTAssertEqual ( reuseClient. count ( ) , 42 )
76+ }
7577 }
7678 }
7779
7880 func testDependencyDefaultIsReused_SegmentedByContext( ) {
7981 DependencyValues . withValue ( \. self, . init( ) ) {
80- @Dependency ( \. reuseClient) var reuseClient : ReuseClient
81-
82- XCTAssertEqual ( reuseClient. count ( ) , 0 )
83- reuseClient. setCount ( 42 )
84- XCTAssertEqual ( reuseClient. count ( ) , 42 )
82+ DependencyValues . withValue ( \. context, . test) {
83+ @Dependency ( \. reuseClient) var reuseClient : ReuseClient
8584
86- DependencyValues . withValue ( \. context, . preview) {
8785 XCTAssertEqual ( reuseClient. count ( ) , 0 )
88- reuseClient. setCount ( 1729 )
89- XCTAssertEqual ( reuseClient. count ( ) , 1729 )
90- }
86+ reuseClient. setCount ( 42 )
87+ XCTAssertEqual ( reuseClient. count ( ) , 42 )
9188
92- XCTAssertEqual ( reuseClient. count ( ) , 42 )
89+ DependencyValues . withValue ( \. context, . preview) {
90+ XCTAssertEqual ( reuseClient. count ( ) , 0 )
91+ reuseClient. setCount ( 1729 )
92+ XCTAssertEqual ( reuseClient. count ( ) , 1729 )
93+ }
9394
94- DependencyValues . withValue ( \. context, . live) {
95- #if DEBUG
95+ XCTAssertEqual ( reuseClient. count ( ) , 42 )
96+
97+ DependencyValues . withValue ( \. context, . live) {
98+ #if DEBUG
9699 XCTExpectFailure {
97100 $0. compactDescription. contains (
98101 """
@@ -101,17 +104,18 @@ final class DependencyValuesTests: XCTestCase {
101104 """
102105 )
103106 }
104- #endif
105- XCTAssertEqual ( reuseClient. count ( ) , 0 )
106- reuseClient. setCount ( - 42 )
107- XCTAssertEqual (
108- reuseClient. count ( ) ,
109- 0 ,
110- " Don't cache dependency when using a test value in a live context "
111- )
112- }
107+ #endif
108+ XCTAssertEqual ( reuseClient. count ( ) , 0 )
109+ reuseClient. setCount ( - 42 )
110+ XCTAssertEqual (
111+ reuseClient. count ( ) ,
112+ 0 ,
113+ " Don't cache dependency when using a test value in a live context "
114+ )
115+ }
113116
114- XCTAssertEqual ( reuseClient. count ( ) , 42 )
117+ XCTAssertEqual ( reuseClient. count ( ) , 42 )
118+ }
115119 }
116120 }
117121
@@ -139,41 +143,43 @@ final class DependencyValuesTests: XCTestCase {
139143 }
140144
141145 func testBinding( ) {
142- @Dependency ( \. childDependencyEarlyBinding) var childDependencyEarlyBinding :
146+ DependencyValues . withValue ( \. context, . test) {
147+ @Dependency ( \. childDependencyEarlyBinding) var childDependencyEarlyBinding :
143148 ChildDependencyEarlyBinding
144- @Dependency ( \. childDependencyLateBinding) var childDependencyLateBinding :
149+ @Dependency ( \. childDependencyLateBinding) var childDependencyLateBinding :
145150 ChildDependencyLateBinding
146-
147- XCTAssertEqual ( childDependencyEarlyBinding. fetch ( ) , 42 )
148- XCTAssertEqual ( childDependencyLateBinding. fetch ( ) , 42 )
149-
150- DependencyValues . withValue ( \. someDependency. fetch, { 1729 } ) {
151- XCTAssertEqual ( childDependencyEarlyBinding. fetch ( ) , 1729 )
152- XCTAssertEqual ( childDependencyLateBinding. fetch ( ) , 1729 )
153- }
154-
155- var childDependencyEarlyBindingEscaped : ChildDependencyEarlyBinding !
156- var childDependencyLateBindingEscaped : ChildDependencyLateBinding !
157-
158- DependencyValues . withValue ( \. someDependency. fetch, { 999 } ) {
159- @Dependency ( \. childDependencyEarlyBinding) var childDependencyEarlyBinding2 :
151+
152+ XCTAssertEqual ( childDependencyEarlyBinding. fetch ( ) , 42 )
153+ XCTAssertEqual ( childDependencyLateBinding. fetch ( ) , 42 )
154+
155+ DependencyValues . withValue ( \. someDependency. fetch, { 1729 } ) {
156+ XCTAssertEqual ( childDependencyEarlyBinding. fetch ( ) , 1729 )
157+ XCTAssertEqual ( childDependencyLateBinding. fetch ( ) , 1729 )
158+ }
159+
160+ var childDependencyEarlyBindingEscaped : ChildDependencyEarlyBinding !
161+ var childDependencyLateBindingEscaped : ChildDependencyLateBinding !
162+
163+ DependencyValues . withValue ( \. someDependency. fetch, { 999 } ) {
164+ @Dependency ( \. childDependencyEarlyBinding) var childDependencyEarlyBinding2 :
160165 ChildDependencyEarlyBinding
161- @Dependency ( \. childDependencyLateBinding) var childDependencyLateBinding2 :
166+ @Dependency ( \. childDependencyLateBinding) var childDependencyLateBinding2 :
162167 ChildDependencyLateBinding
163-
164- childDependencyEarlyBindingEscaped = childDependencyEarlyBinding
165- childDependencyLateBindingEscaped = childDependencyLateBinding
166-
167- XCTAssertEqual ( childDependencyEarlyBinding2. fetch ( ) , 999 )
168- XCTAssertEqual ( childDependencyLateBinding2. fetch ( ) , 999 )
169- }
170-
171- XCTAssertEqual ( childDependencyEarlyBindingEscaped. fetch ( ) , 42 )
172- XCTAssertEqual ( childDependencyLateBindingEscaped. fetch ( ) , 42 )
173-
174- DependencyValues . withValue ( \. someDependency. fetch, { 1_000 } ) {
175- XCTAssertEqual ( childDependencyEarlyBindingEscaped. fetch ( ) , 1_000 )
176- XCTAssertEqual ( childDependencyLateBindingEscaped. fetch ( ) , 1_000 )
168+
169+ childDependencyEarlyBindingEscaped = childDependencyEarlyBinding
170+ childDependencyLateBindingEscaped = childDependencyLateBinding
171+
172+ XCTAssertEqual ( childDependencyEarlyBinding2. fetch ( ) , 999 )
173+ XCTAssertEqual ( childDependencyLateBinding2. fetch ( ) , 999 )
174+ }
175+
176+ XCTAssertEqual ( childDependencyEarlyBindingEscaped. fetch ( ) , 42 )
177+ XCTAssertEqual ( childDependencyLateBindingEscaped. fetch ( ) , 42 )
178+
179+ DependencyValues . withValue ( \. someDependency. fetch, { 1_000 } ) {
180+ XCTAssertEqual ( childDependencyEarlyBindingEscaped. fetch ( ) , 1_000 )
181+ XCTAssertEqual ( childDependencyLateBindingEscaped. fetch ( ) , 1_000 )
182+ }
177183 }
178184 }
179185
0 commit comments