99
1010namespace NetDaemon . HassModel . Tests . Internal ;
1111
12- public class EntityAreaCachTests
12+ public class EntityAreaCacheTests
1313{
1414 [ Fact ]
1515 public async Task EntityIdWithArea_Returns_HassArea ( )
1616 {
1717 // Arrange
1818 using var testSubject = new Subject < HassEvent > ( ) ;
19- var _hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
20- var haRunnerMock = new Mock < IHomeAssistantRunner > ( ) ;
21-
22- haRunnerMock . SetupGet ( n => n . CurrentConnection ) . Returns ( _hassConnectionMock . Object ) ;
19+ var hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
2320
24- _hassConnectionMock . Setup ( n =>
21+ hassConnectionMock . Setup ( n =>
2522 n . SubscribeToHomeAssistantEventsAsync ( It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) )
2623 . ReturnsAsync ( testSubject ) ;
2724
28- _hassConnectionMock . Setup (
25+ hassConnectionMock . Setup (
2926 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassDevice > > (
3027 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
3128 ) ) . ReturnsAsync ( Array . Empty < HassDevice > ( ) ) ;
3229
33- _hassConnectionMock . Setup (
30+ hassConnectionMock . Setup (
3431 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassArea > >
3532 (
3633 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -40,7 +37,7 @@ public async Task EntityIdWithArea_Returns_HassArea()
4037 new ( ) { Id = "AreaId" , Name = "Area Name" }
4138 } ) ;
4239
43- _hassConnectionMock . Setup (
40+ hassConnectionMock . Setup (
4441 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassEntity > >
4542 (
4643 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -53,31 +50,28 @@ public async Task EntityIdWithArea_Returns_HassArea()
5350 var serviceColletion = new ServiceCollection ( ) ;
5451 _ = serviceColletion . AddTransient ( _ => new Mock < IObservable < HassEvent > > ( ) . Object ) ;
5552
56- using var cache = new RegistryCache ( haRunnerMock . Object , NullLogger < RegistryCache > . Instance ) ;
53+ using var cache = new RegistryCache ( NullLogger < RegistryCache > . Instance ) ;
5754
5855 // Act
59- await cache . InitializeAsync ( CancellationToken . None ) ;
56+ await cache . InitializeAsync ( hassConnectionMock . Object , CancellationToken . None ) ;
6057 // Assert
6158 var area = cache . GetAreaById ( cache . GetHassEntityById ( "sensor.sensor1" ) ! . AreaId ) ;
6259 Assert . NotNull ( area ) ;
63- Assert . Equal ( "Area Name" , area ! . Name ) ;
60+ Assert . Equal ( "Area Name" , area . Name ) ;
6461 }
6562
6663 [ Fact ]
6764 public async Task EntityIdWithOutArea_ButDeviceArea_Returns_HassArea ( )
6865 {
6966 // Arrange
7067 using var testSubject = new Subject < HassEvent > ( ) ;
71- var _hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
72- var haRunnerMock = new Mock < IHomeAssistantRunner > ( ) ;
68+ var hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
7369
74- haRunnerMock . SetupGet ( n => n . CurrentConnection ) . Returns ( _hassConnectionMock . Object ) ;
75-
76- _hassConnectionMock . Setup ( n =>
70+ hassConnectionMock . Setup ( n =>
7771 n . SubscribeToHomeAssistantEventsAsync ( It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) )
7872 . ReturnsAsync ( testSubject ) ;
7973
80- _hassConnectionMock . Setup (
74+ hassConnectionMock . Setup (
8175 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassDevice > > (
8276 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
8377 ) ) . ReturnsAsync (
@@ -86,7 +80,7 @@ public async Task EntityIdWithOutArea_ButDeviceArea_Returns_HassArea()
8680 new ( ) { Id = "DeviceId" , AreaId = "AreaId" }
8781 } ) ;
8882
89- _hassConnectionMock . Setup (
83+ hassConnectionMock . Setup (
9084 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassArea > >
9185 (
9286 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -96,7 +90,7 @@ public async Task EntityIdWithOutArea_ButDeviceArea_Returns_HassArea()
9690 new ( ) { Id = "AreaId" , Name = "Area Name" }
9791 } ) ;
9892
99- _hassConnectionMock . Setup (
93+ hassConnectionMock . Setup (
10094 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassEntity > >
10195 (
10296 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -109,32 +103,32 @@ public async Task EntityIdWithOutArea_ButDeviceArea_Returns_HassArea()
109103 var serviceColletion = new ServiceCollection ( ) ;
110104 _ = serviceColletion . AddTransient ( _ => new Mock < IObservable < HassEvent > > ( ) . Object ) ;
111105
112- using var cache = new RegistryCache ( haRunnerMock . Object , Mock . Of < ILogger < RegistryCache > > ( ) ) ;
106+ using var cache = new RegistryCache ( Mock . Of < ILogger < RegistryCache > > ( ) ) ;
113107
114108 // Act
115- await cache . InitializeAsync ( CancellationToken . None ) ;
109+ await cache . InitializeAsync ( hassConnectionMock . Object , CancellationToken . None ) ;
116110
117111 // Assert
118112 var area = cache . GetAreaById ( cache . GetHassEntityById ( "sensor.sensor1" ) ! . AreaId ) ;
119113 Assert . NotNull ( area ) ;
120- Assert . Equal ( "Area Name" , area ! . Name ) ;
114+ Assert . Equal ( "Area Name" , area . Name ) ;
121115 }
122116
123117 [ Fact ]
124118 public async Task EntityIdWithArea_AndDeviceArea_Returns_EntityHassArea ( )
125119 {
126120 // Arrange
127121 using var testSubject = new Subject < HassEvent > ( ) ;
128- var _hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
122+ var hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
129123 var haRunnerMock = new Mock < IHomeAssistantRunner > ( ) ;
130124
131- haRunnerMock . SetupGet ( n => n . CurrentConnection ) . Returns ( _hassConnectionMock . Object ) ;
125+ haRunnerMock . SetupGet ( n => n . CurrentConnection ) . Returns ( hassConnectionMock . Object ) ;
132126
133- _hassConnectionMock . Setup ( n =>
127+ hassConnectionMock . Setup ( n =>
134128 n . SubscribeToHomeAssistantEventsAsync ( It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) )
135129 . ReturnsAsync ( testSubject ) ;
136130
137- _hassConnectionMock . Setup (
131+ hassConnectionMock . Setup (
138132 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassDevice > > (
139133 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
140134 ) ) . ReturnsAsync (
@@ -143,7 +137,7 @@ public async Task EntityIdWithArea_AndDeviceArea_Returns_EntityHassArea()
143137 new ( ) { Id = "DeviceId" , AreaId = "AreaId" }
144138 } ) ;
145139
146- _hassConnectionMock . Setup (
140+ hassConnectionMock . Setup (
147141 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassArea > >
148142 (
149143 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -154,7 +148,7 @@ public async Task EntityIdWithArea_AndDeviceArea_Returns_EntityHassArea()
154148 new ( ) { Id = "AreaId2" , Name = "Area2 Name" }
155149 } ) ;
156150
157- _hassConnectionMock . Setup (
151+ hassConnectionMock . Setup (
158152 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassEntity > >
159153 (
160154 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -166,37 +160,37 @@ public async Task EntityIdWithArea_AndDeviceArea_Returns_EntityHassArea()
166160
167161 var serviceColletion = new ServiceCollection ( ) ;
168162 _ = serviceColletion . AddTransient ( _ => new Mock < IObservable < HassEvent > > ( ) . Object ) ;
169- using var cache = new RegistryCache ( haRunnerMock . Object , Mock . Of < ILogger < RegistryCache > > ( ) ) ;
163+ using var cache = new RegistryCache ( Mock . Of < ILogger < RegistryCache > > ( ) ) ;
170164
171165 // Act
172- await cache . InitializeAsync ( CancellationToken . None ) ;
166+ await cache . InitializeAsync ( hassConnectionMock . Object , CancellationToken . None ) ;
173167
174168 // Assert
175169 var area = cache . GetAreaById ( cache . GetHassEntityById ( "sensor.sensor1" ) ! . AreaId ) ;
176170 Assert . NotNull ( area ) ;
177- Assert . Equal ( "Area2 Name" , area ! . Name ) ;
171+ Assert . Equal ( "Area2 Name" , area . Name ) ;
178172 }
179173
180174 [ Fact ]
181175 public async Task EntityArea_Updates ( )
182176 {
183177 // Arrange
184178 using var testSubject = new Subject < HassEvent > ( ) ;
185- var _hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
179+ var hassConnectionMock = new Mock < IHomeAssistantConnection > ( ) ;
186180 var haRunnerMock = new Mock < IHomeAssistantRunner > ( ) ;
187181
188- haRunnerMock . SetupGet ( n => n . CurrentConnection ) . Returns ( _hassConnectionMock . Object ) ;
182+ haRunnerMock . SetupGet ( n => n . CurrentConnection ) . Returns ( hassConnectionMock . Object ) ;
189183
190- _hassConnectionMock . Setup (
184+ hassConnectionMock . Setup (
191185 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassDevice > > (
192186 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
193187 ) ) . ReturnsAsync ( Array . Empty < HassDevice > ( ) ) ;
194188
195- _hassConnectionMock . Setup ( n =>
189+ hassConnectionMock . Setup ( n =>
196190 n . SubscribeToHomeAssistantEventsAsync ( It . IsAny < string > ( ) , It . IsAny < CancellationToken > ( ) ) )
197191 . ReturnsAsync ( testSubject ) ;
198192
199- _hassConnectionMock . Setup (
193+ hassConnectionMock . Setup (
200194 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassArea > >
201195 (
202196 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -207,7 +201,7 @@ public async Task EntityArea_Updates()
207201 new ( ) { Id = "AreaId2" , Name = "Area2 Name" }
208202 } ) ;
209203
210- _hassConnectionMock . Setup (
204+ hassConnectionMock . Setup (
211205 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassEntity > >
212206 (
213207 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -217,17 +211,13 @@ public async Task EntityArea_Updates()
217211 new ( ) { EntityId = "sensor.sensor1" , AreaId = "AreaId" }
218212 } ) ;
219213
220- var serviceColletion = new ServiceCollection ( ) ;
221- _ = serviceColletion . AddTransient < IObservable < HassEvent > > ( _ => testSubject ) ;
222- var sp = serviceColletion . BuildServiceProvider ( ) ;
223-
224- using var cache = new RegistryCache ( haRunnerMock . Object , Mock . Of < ILogger < RegistryCache > > ( ) ) ;
214+ using var cache = new RegistryCache ( Mock . Of < ILogger < RegistryCache > > ( ) ) ;
225215
226216 // Act 1: Init
227- await cache . InitializeAsync ( CancellationToken . None ) ;
217+ await cache . InitializeAsync ( hassConnectionMock . Object , CancellationToken . None ) ;
228218
229219 // Act/Rearrage
230- _hassConnectionMock . Setup (
220+ hassConnectionMock . Setup (
231221 m => m . SendCommandAndReturnResponseAsync < SimpleCommand , IReadOnlyCollection < HassEntity > >
232222 (
233223 It . IsAny < SimpleCommand > ( ) , It . IsAny < CancellationToken > ( )
@@ -243,6 +233,6 @@ public async Task EntityArea_Updates()
243233 // Assert
244234 var area = cache . GetAreaById ( cache . GetHassEntityById ( "sensor.sensor1" ) ! . AreaId ) ;
245235 Assert . NotNull ( area ) ;
246- Assert . Equal ( "Area2 Name" , area ! . Name ) ;
236+ Assert . Equal ( "Area2 Name" , area . Name ) ;
247237 }
248238}
0 commit comments