Using TestUnitCommandOwner for test

This commit is contained in:
Karlatemp 2020-11-29 18:07:02 +08:00
parent 595c9480a6
commit be33cb88df
No known key found for this signature in database
GPG Key ID: 21FBDDF664FF06F8

View File

@ -34,7 +34,7 @@ import org.junit.jupiter.api.Test
import kotlin.test.* import kotlin.test.*
object TestCompositeCommand : CompositeCommand( object TestCompositeCommand : CompositeCommand(
ConsoleCommandOwner, owner,
"testComposite", "tsC" "testComposite", "tsC"
) { ) {
@SubCommand @SubCommand
@ -49,7 +49,7 @@ object TestCompositeCommand : CompositeCommand(
} }
object TestRawCommand : RawCommand( object TestRawCommand : RawCommand(
ConsoleCommandOwner, owner,
"testRaw" "testRaw"
) { ) {
override suspend fun CommandSender.onCommand(args: MessageChain) { override suspend fun CommandSender.onCommand(args: MessageChain) {
@ -65,7 +65,9 @@ object TestSimpleCommand : RawCommand(owner, "testSimple", "tsS") {
} }
internal val sender by lazy { ConsoleCommandSender } internal val sender by lazy { ConsoleCommandSender }
internal val owner by lazy { ConsoleCommandOwner }
internal object TestUnitCommandOwner : CommandOwner by ConsoleCommandOwner
internal val owner by lazy { TestUnitCommandOwner }
@OptIn(ExperimentalCommandDescriptors::class) @OptIn(ExperimentalCommandDescriptors::class)
@ -88,12 +90,13 @@ internal class TestCommand {
fun testRegister() { fun testRegister() {
try { try {
unregisterAllCommands(ConsoleCommandOwner) // builtins unregisterAllCommands(ConsoleCommandOwner) // builtins
unregisterAllCommands(owner) // testing unit
unregisterCommand(TestSimpleCommand) unregisterCommand(TestSimpleCommand)
assertTrue(TestCompositeCommand.register()) assertTrue(TestCompositeCommand.register())
assertFalse(TestCompositeCommand.register()) assertFalse(TestCompositeCommand.register())
assertEquals(1, getRegisteredCommands(ConsoleCommandOwner).size) assertEquals(1, getRegisteredCommands(owner).size)
assertEquals(1, CommandManagerImpl._registeredCommands.size) assertEquals(1, CommandManagerImpl._registeredCommands.size)
assertEquals(2, assertEquals(2,
@ -198,7 +201,7 @@ internal class TestCommand {
fun `composite sub command resolution conflict`() { fun `composite sub command resolution conflict`() {
runBlocking { runBlocking {
val composite = object : CompositeCommand( val composite = object : CompositeCommand(
ConsoleCommandOwner, owner,
"tr" "tr"
) { ) {
@Suppress("UNUSED_PARAMETER") @Suppress("UNUSED_PARAMETER")
@ -233,7 +236,7 @@ internal class TestCommand {
) )
val composite = object : CompositeCommand( val composite = object : CompositeCommand(
ConsoleCommandOwner, owner,
"test22", "test22",
overrideContext = buildCommandArgumentContext { overrideContext = buildCommandArgumentContext {
add(object : CommandValueArgumentParser<MyClass> { add(object : CommandValueArgumentParser<MyClass> {
@ -291,7 +294,7 @@ internal class TestCommand {
fun `test optional argument command`() { fun `test optional argument command`() {
runBlocking { runBlocking {
val optionCommand = object : CompositeCommand( val optionCommand = object : CompositeCommand(
ConsoleCommandOwner, owner,
"testOptional" "testOptional"
) { ) {
@SubCommand @SubCommand
@ -315,7 +318,7 @@ internal class TestCommand {
fun `test vararg`() { fun `test vararg`() {
runBlocking { runBlocking {
val optionCommand = object : CompositeCommand( val optionCommand = object : CompositeCommand(
ConsoleCommandOwner, owner,
"test" "test"
) { ) {
@SubCommand @SubCommand