@@ -180,4 +180,54 @@ class DestinationPluginTests {
180180 val result = destinationPlugin.process(trackEvent)
181181 assertEquals(null , result)
182182 }
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+ }
183233}
0 commit comments