Я пытаюсь оптимизировать мой тестовый класс 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
}