``` @Test fun testNetworkManagerListener(){ ...
# rx
m
Copy code
@Test
    fun testNetworkManagerListener(){
        val storage = NetworkResultStorageImpl()
        val netWorkManager = NetworkManagerImpl(storage, EmptyLog())

        val signal = CountDownLatch(1)
        netWorkManager.addNetworkListener(object : NetworkListener {
            override fun onResult(clazz: Class<out Any>, result: Any) {
                Assert.assertEquals(NetworkTestView::class.java, clazz)
                Assert.assertTrue(result is NetworkTestResult)
                signal.countDown()
            }

            override fun onError(clazz: Class<out Any>, error: Throwable?) {
                throw IllegalStateException("on Error should not be called!")
            }
        })

        netWorkManager.processRequest(TestNetworkTask(), NetworkTestView::class.java)
        signal.await(1, TimeUnit.SECONDS)

        Assert.assertNotNull(storage.getResultAndInvalidate<NetworkTestView, NetworkTestResult>(NetworkTestView::class.java))
    }