MsgDbTest.kt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright 2019-2022 Mamoe Technologies and contributors.
  3. *
  4. * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
  5. * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
  6. *
  7. * https://github.com/mamoe/mirai/blob/dev/LICENSE
  8. */
  9. package net.mamoe.mirai.mock.test
  10. import net.mamoe.mirai.message.data.MessageSourceKind
  11. import net.mamoe.mirai.message.data.messageChainOf
  12. import net.mamoe.mirai.mock.database.MessageDatabase
  13. import net.mamoe.mirai.mock.database.MessageInfo
  14. import net.mamoe.mirai.mock.database.mockMsgDatabaseId
  15. import org.junit.jupiter.api.Test
  16. import kotlin.random.Random
  17. import kotlin.test.assertEquals
  18. internal class MsgDbTest {
  19. @Test
  20. fun testIdConversion() {
  21. repeat(50) {
  22. val id1 = Random.nextInt()
  23. val id2 = Random.nextInt()
  24. val msgInfo = MessageInfo(
  25. mixinedMsgId = mockMsgDatabaseId(id1, id2),
  26. sender = 0, subject = 0, kind = MessageSourceKind.FRIEND, time = 0,
  27. messageChainOf()
  28. )
  29. assertEquals(id1, msgInfo.id)
  30. assertEquals(id2, msgInfo.internal)
  31. }
  32. }
  33. @Test
  34. fun testDatabase() {
  35. val db = MessageDatabase.newDefaultDatabase()
  36. db.connect()
  37. repeat(90) {
  38. val info = db.newMessageInfo(Random.nextLong(), Random.nextLong(), MessageSourceKind.FRIEND, 0, messageChainOf())
  39. assertEquals(info, db.queryMessageInfo(info.mixinedMsgId))
  40. }
  41. db.disconnect()
  42. }
  43. }