Covert SimpleListenerHostTest to kotlin

This commit is contained in:
Karlatemp 2020-12-26 16:43:10 +08:00
parent 2f903cef9e
commit 471e70205e
No known key found for this signature in database
GPG Key ID: 21FBDDF664FF06F8
2 changed files with 42 additions and 41 deletions

View File

@ -0,0 +1,42 @@
/*
* Copyright 2019-2020 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
package net.mamoe.mirai.event
import kotlinx.coroutines.CoroutineScope
import net.mamoe.mirai.JavaFriendlyAPI
import net.mamoe.mirai.utils.EventListenerLikeJava
import org.junit.jupiter.api.Test
import java.util.concurrent.atomic.AtomicBoolean
import kotlin.coroutines.EmptyCoroutineContext
@JavaFriendlyAPI
@EventListenerLikeJava
class SimpleListenerHostTestJava {
@Test
fun testJavaSimpleListenerHostWork() {
val called = AtomicBoolean()
val host: SimpleListenerHost = object : SimpleListenerHost() {
@EventHandler
@EventListenerLikeJava
fun testListen(
event: AbstractEvent?
) {
println(event)
called.set(true)
}
}
val scope = CoroutineScope(EmptyCoroutineContext)
scope.registerEvents(host)
object : AbstractEvent() {}.__broadcastJava()
if (!called.get()) {
throw AssertionError("JavaTest: SimpleListenerHost Failed.")
}
}
}

View File

@ -1,41 +0,0 @@
/*
* Copyright 2019-2020 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
package net.mamoe.mirai.javatest;
import kotlin.coroutines.EmptyCoroutineContext;
import kotlinx.coroutines.CoroutineScope;
import kotlinx.coroutines.CoroutineScopeKt;
import net.mamoe.mirai.event.*;
import org.junit.jupiter.api.Test;
import java.util.concurrent.atomic.AtomicBoolean;
public class SimpleListenerHostTest {
@Test
public void testJavaSimpleListenerHostWork() {
AtomicBoolean called = new AtomicBoolean();
final SimpleListenerHost host = new SimpleListenerHost() {
@EventHandler
public void testListen(
AbstractEvent event
) {
System.out.println(event);
called.set(true);
}
};
CoroutineScope scope = CoroutineScopeKt.CoroutineScope(EmptyCoroutineContext.INSTANCE);
Events.registerEvents(scope, host);
EventKt.broadcast(new AbstractEvent() {
});
if (!called.get()) {
throw new AssertionError("JavaTest: SimpleListenerHost Failed.");
}
}
}