@@ -8,8 +8,22 @@ namespace Microsoft.DurableTask.Client.Tests;
88
99public class ServiceCollectionExtensionsTests
1010{
11+ [ Theory ]
12+ [ InlineData ( null ) ]
13+ [ InlineData ( "" ) ]
14+ [ InlineData ( "MyBuilder" ) ]
15+ public void AddDurableTaskClient_SameInstance ( string ? name )
16+ {
17+ ServiceCollection services = new ( ) ;
18+ IDurableTaskClientBuilder actual1 = services . AddDurableTaskClient ( name ) ;
19+ IDurableTaskClientBuilder actual2 = services . AddDurableTaskClient ( name ) ;
20+
21+ actual1 . Should ( ) . NotBeNull ( ) ;
22+ actual1 . Should ( ) . BeSameAs ( actual2 ) ;
23+ }
24+
1125 [ Fact ]
12- public void AddDurableTaskClient_SameInstance ( )
26+ public void AddDurableTaskClient_SameInstance2 ( )
1327 {
1428 ServiceCollection services = new ( ) ;
1529 IDurableTaskClientBuilder ? actual1 = null ;
@@ -21,6 +35,73 @@ public void AddDurableTaskClient_SameInstance()
2135 actual1 . Should ( ) . BeSameAs ( actual2 ) ;
2236 }
2337
38+ [ Theory ]
39+ [ InlineData ( null ) ]
40+ [ InlineData ( "" ) ]
41+ [ InlineData ( "MyBuilder" ) ]
42+ public void AddDurableTaskClient_SameInstance3 ( string name )
43+ {
44+ ServiceCollection services = new ( ) ;
45+ IDurableTaskClientBuilder ? actual1 = null ;
46+ IDurableTaskClientBuilder ? actual2 = null ;
47+ services . AddDurableTaskClient ( name , builder => actual1 = builder ) ;
48+ services . AddDurableTaskClient ( name , builder => actual2 = builder ) ;
49+
50+ actual1 . Should ( ) . NotBeNull ( ) ;
51+ actual1 . Should ( ) . BeSameAs ( actual2 ) ;
52+ }
53+
54+ [ Fact ]
55+ public void AddDurableTaskClient_SameInstance4 ( )
56+ {
57+ ServiceCollection services = new ( ) ;
58+ IDurableTaskClientBuilder actual1 = services . AddDurableTaskClient ( ) ;
59+ IDurableTaskClientBuilder ? actual2 = null ;
60+ services . AddDurableTaskClient ( builder => actual2 = builder ) ;
61+
62+ actual1 . Should ( ) . NotBeNull ( ) ;
63+ actual1 . Should ( ) . BeSameAs ( actual2 ) ;
64+ }
65+
66+ [ Fact ]
67+ public void AddDurableTaskClient_DifferentNames_NotSame ( )
68+ {
69+ ServiceCollection services = new ( ) ;
70+ IDurableTaskClientBuilder actual1 = services . AddDurableTaskClient ( ) ;
71+ IDurableTaskClientBuilder actual2 = services . AddDurableTaskClient ( "MyBuilder" ) ;
72+
73+ actual1 . Should ( ) . NotBeNull ( ) ;
74+ actual2 . Should ( ) . NotBeNull ( ) ;
75+ actual1 . Should ( ) . NotBeSameAs ( actual2 ) ;
76+ }
77+
78+ [ Fact ]
79+ public void AddDurableTaskClient_DifferentNames_NotSame2 ( )
80+ {
81+ ServiceCollection services = new ( ) ;
82+ IDurableTaskClientBuilder ? actual1 = null ;
83+ IDurableTaskClientBuilder ? actual2 = null ;
84+ services . AddDurableTaskClient ( builder => actual1 = builder ) ;
85+ services . AddDurableTaskClient ( "MyBuilder" , builder => actual2 = builder ) ;
86+
87+ actual1 . Should ( ) . NotBeNull ( ) ;
88+ actual2 . Should ( ) . NotBeNull ( ) ;
89+ actual1 . Should ( ) . NotBeSameAs ( actual2 ) ;
90+ }
91+
92+ [ Fact ]
93+ public void AddDurableTaskClient_DifferentNames_NotSame3 ( )
94+ {
95+ ServiceCollection services = new ( ) ;
96+ IDurableTaskClientBuilder actual1 = services . AddDurableTaskClient ( ) ;
97+ IDurableTaskClientBuilder ? actual2 = null ;
98+ services . AddDurableTaskClient ( "MyBuilder" , builder => actual2 = builder ) ;
99+
100+ actual1 . Should ( ) . NotBeNull ( ) ;
101+ actual2 . Should ( ) . NotBeNull ( ) ;
102+ actual1 . Should ( ) . NotBeSameAs ( actual2 ) ;
103+ }
104+
24105 [ Fact ]
25106 public void AddDurableTaskClient_HostedServiceAdded ( )
26107 {
0 commit comments