создание общего функционала для тестового класса в kotlin - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь оптимизировать мой тестовый класс A. Вот структура кода.У меня три функции захвата, но я пытаюсь создать один

Internal class A {
     inner class X1: L1 {
    }

     inner class X2: L2 {
    }

     inner class X3: L3 {
    }
}
Interface L1 { }
Interface L2 { }
Interface L3 { }

Interface obj {
 addListener(L1)
addListener(L2)
addListener(L3)
}

тестовый класс

Class Atest { 
    private fun capturetL1(): Capture<A.X1> {
            val events: Capture<A.X1> = EasyMock.newCapture()
            EasyMock.expect(obj.addListener(EasyMock.capture(events)))
            EasyMock.expectLastCall<Any>().once()
            return events
        }
    private fun capturetL2(): Capture<A.X2> {
            val events: Capture<A.X2> = EasyMock.newCapture()
            EasyMock.expect(obj.addListener(EasyMock.capture(events)))
            EasyMock.expectLastCall<Any>().once()
            return events
        }

    private fun capturetL3(): Capture<A.X3> {
            val events: Capture<A.X3> = EasyMock.newCapture()
            EasyMock.expect(obj.addListener(EasyMock.capture(events)))
            EasyMock.expectLastCall<Any>().once()
            return events
        }


}

Я пытаюсь написать общий метод для захвата.Но сталкиваюсь с проблемами типизации.

fun <E : A> capture(event: Capture<E>) {
val events = EasyMock.newCapture()
EasyMock.expect(obj.addListener(EasyMock.capture(events))) 
EasyMock.expectLastCall<Any>().once()
return events
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...