@@ -33,12 +33,28 @@ public class DemoActor : Actor, IDemoActor, IBankActor, IRemindable
33
33
34
34
private readonly BankService bank ;
35
35
36
- public DemoActor ( ActorHost host , BankService bank )
36
+ /// <summary>
37
+ /// Initializes a new instance of <see cref="DemoActor"/>.
38
+ /// </summary>
39
+ /// <param name="host">ActorHost.</param>
40
+ /// <param name="bank">BankService.</param>
41
+ /// <param name="actorStateManager">ActorStateManager used in UnitTests.</param>
42
+ public DemoActor (
43
+ ActorHost host ,
44
+ BankService bank ,
45
+ IActorStateManager actorStateManager = null )
37
46
: base ( host )
38
47
{
39
48
// BankService is provided by dependency injection.
40
49
// See Program.cs
41
50
this . bank = bank ;
51
+
52
+ // Assign ActorStateManager when passed as parameter.
53
+ // This is used in UnitTests.
54
+ if ( actorStateManager != null )
55
+ {
56
+ this . StateManager = actorStateManager ;
57
+ }
42
58
}
43
59
44
60
public async Task SaveData ( MyData data , TimeSpan ttl )
@@ -74,12 +90,12 @@ public async Task RegisterReminderWithTtl(TimeSpan ttl)
74
90
{
75
91
await this . RegisterReminderAsync ( "TestReminder" , null , TimeSpan . FromSeconds ( 5 ) , TimeSpan . FromSeconds ( 5 ) , ttl ) ;
76
92
}
77
-
93
+
78
94
public async Task RegisterReminderWithRepetitions ( int repetitions )
79
95
{
80
96
await this . RegisterReminderAsync ( "TestReminder" , null , TimeSpan . FromSeconds ( 0 ) , TimeSpan . FromSeconds ( 1 ) , repetitions ) ;
81
97
}
82
-
98
+
83
99
public async Task RegisterReminderWithTtlAndRepetitions ( TimeSpan ttl , int repetitions )
84
100
{
85
101
await this . RegisterReminderAsync ( "TestReminder" , null , TimeSpan . FromSeconds ( 0 ) , TimeSpan . FromSeconds ( 1 ) , repetitions , ttl ) ;
@@ -98,7 +114,7 @@ public async Task<ActorReminderData> GetReminder()
98
114
}
99
115
: null ;
100
116
}
101
-
117
+
102
118
public Task UnregisterReminder ( )
103
119
{
104
120
return this . UnregisterReminderAsync ( "TestReminder" ) ;
0 commit comments