@@ -180,4 +180,54 @@ class DestinationPluginTests {
180
180
val result = destinationPlugin.process(trackEvent)
181
181
assertEquals(null , result)
182
182
}
183
+
184
+ @Test
185
+ fun `findAll will find single added plugin` () {
186
+ val destinationPlugin = object : DestinationPlugin () {
187
+ override val key: String = " TestDestination"
188
+ }
189
+
190
+ timeline.add(destinationPlugin)
191
+ var simplePlugins = destinationPlugin.findAll(SimplePlugin ::class )
192
+ assertTrue(simplePlugins.isEmpty())
193
+
194
+ val testPlugin = SimplePlugin (" Test1" )
195
+ destinationPlugin.add(testPlugin)
196
+ simplePlugins = destinationPlugin.findAll(SimplePlugin ::class )
197
+
198
+ assertTrue(simplePlugins.isNotEmpty())
199
+ assertEquals(1 , simplePlugins.size)
200
+ assertEquals(testPlugin, simplePlugins.get(0 ))
201
+ }
202
+
203
+ @Test
204
+ fun `findAll will find multiple added plugin` () {
205
+ val destinationPlugin = object : DestinationPlugin () {
206
+ override val key: String = " TestDestination"
207
+ }
208
+
209
+ timeline.add(destinationPlugin)
210
+ var simplePlugins = destinationPlugin.findAll(SimplePlugin ::class )
211
+ assertTrue(simplePlugins.isEmpty())
212
+
213
+ val testPlugin1 = SimplePlugin (" Test1" )
214
+ val testPlugin2 = SimplePlugin (" Test2" )
215
+ val testPlugin3 = SimplePlugin (" Test3" )
216
+
217
+ destinationPlugin.add(testPlugin1)
218
+ destinationPlugin.add(testPlugin2)
219
+ destinationPlugin.add(testPlugin3)
220
+ simplePlugins = destinationPlugin.findAll(SimplePlugin ::class )
221
+
222
+ assertTrue(simplePlugins.isNotEmpty())
223
+ assertEquals(3 , simplePlugins.size)
224
+ assertEquals(testPlugin1, simplePlugins.get(0 ))
225
+ assertEquals(testPlugin2, simplePlugins.get(1 ))
226
+ assertEquals(testPlugin3, simplePlugins.get(2 ))
227
+ }
228
+
229
+ class SimplePlugin (var name : String ) : Plugin {
230
+ override val type: Plugin .Type = Plugin .Type .Enrichment
231
+ override lateinit var analytics: Analytics
232
+ }
183
233
}
0 commit comments