ContentEqualsTest.kt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*
  2. * Copyright 2019-2020 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/master/LICENSE
  8. */
  9. package net.mamoe.mirai.internal
  10. import net.mamoe.mirai.message.data.*
  11. import net.mamoe.mirai.utils.safeCast
  12. import kotlin.test.Test
  13. import kotlin.test.assertEquals
  14. import kotlin.test.assertFalse
  15. import kotlin.test.assertTrue
  16. internal class TestConstrainSingleMessage : ConstrainSingle, Any() {
  17. companion object Key : AbstractMessageKey<TestConstrainSingleMessage>({ it.safeCast() })
  18. override fun toString(): String = "<TestConstrainSingleMessage#${super.hashCode()}>"
  19. override fun contentToString(): String = ""
  20. @ExperimentalMessageKey
  21. override val key: MessageKey<TestConstrainSingleMessage>
  22. get() = Key
  23. }
  24. internal class ContentEqualsTest {
  25. @Test
  26. fun testContentEquals() {
  27. val mySource = TestConstrainSingleMessage()
  28. val image = Image("{01E9451B-70ED-EAE3-B37C-101F1EEBF5B5}.mirai")
  29. assertTrue {
  30. buildMessageChain {
  31. +"test"
  32. }.contentEquals(buildMessageChain {
  33. +"te"
  34. +mySource
  35. +"st"
  36. })
  37. }
  38. assertFalse {
  39. buildMessageChain {
  40. +"tests"
  41. }.contentEquals(buildMessageChain {
  42. +"te"
  43. +"st"
  44. })
  45. }
  46. assertEquals("test", buildMessageChain {
  47. +mySource
  48. +"test"
  49. +mySource
  50. }.content)
  51. assertTrue {
  52. buildMessageChain {
  53. +"test"
  54. }.contentEquals(buildMessageChain {
  55. +"te"
  56. +"st"
  57. +mySource
  58. })
  59. }
  60. assertTrue {
  61. buildMessageChain {
  62. +"test"
  63. +image
  64. }.contentEquals(buildMessageChain {
  65. +"te"
  66. +mySource
  67. +"st"
  68. +image
  69. })
  70. }
  71. assertEquals("test", buildMessageChain {
  72. +mySource
  73. +"test"
  74. +mySource
  75. }.content)
  76. assertTrue {
  77. buildMessageChain {
  78. +"test"
  79. +image
  80. }.contentEquals(buildMessageChain {
  81. +"te"
  82. +"st"
  83. +image
  84. +mySource
  85. })
  86. }
  87. assertFalse {
  88. buildMessageChain {
  89. +image
  90. +"test"
  91. +mySource
  92. }.contentEquals("test")
  93. }
  94. assertFalse {
  95. buildMessageChain {
  96. +"test"
  97. +image
  98. }.contentEquals("test")
  99. }
  100. assertFalse {
  101. buildMessageChain {
  102. +image
  103. +"test"
  104. }.contentEquals(buildMessageChain {
  105. +"te"
  106. +"st"
  107. +image
  108. +mySource
  109. })
  110. }
  111. }
  112. }