Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

UserTest.kt 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.dmdirc.ktirc.model
  2. import org.junit.jupiter.api.Assertions.assertEquals
  3. import org.junit.jupiter.api.Assertions.assertNull
  4. import org.junit.jupiter.api.Test
  5. internal class UserTest {
  6. @Test
  7. fun `ByteArray asUser returns user with just nickname`() {
  8. val user = "acidBurn".toByteArray().asUser()
  9. assertEquals("acidBurn", user.nickname)
  10. assertNull(user.ident)
  11. assertNull(user.hostname)
  12. }
  13. @Test
  14. fun `ByteArray asUser returns user and ident`() {
  15. val user = "acidBurn!libby".toByteArray().asUser()
  16. assertEquals("acidBurn", user.nickname)
  17. assertEquals("libby", user.ident)
  18. assertNull(user.hostname)
  19. }
  20. @Test
  21. fun `ByteArray asUser returns user ident and host`() {
  22. val user = "acidBurn!libby@root.localhost".toByteArray().asUser()
  23. assertEquals("acidBurn", user.nickname)
  24. assertEquals("libby", user.ident)
  25. assertEquals("root.localhost", user.hostname)
  26. }
  27. @Test
  28. fun `User updates non-null fields from other instance`() {
  29. val user1 = User("acidBurn", "libby", awayMessage = "Hacking the planet")
  30. user1.updateFrom(User("acidBurn", null, "root.localhost", "acidBurn", "Libby"))
  31. assertEquals("acidBurn", user1.nickname)
  32. assertEquals("libby", user1.ident)
  33. assertEquals("root.localhost", user1.hostname)
  34. assertEquals("acidBurn", user1.account)
  35. assertEquals("Libby", user1.realName)
  36. assertEquals("Hacking the planet", user1.awayMessage)
  37. val user2 = User("acidBurn", null, "root.localhost", "acidBurn", "Libby")
  38. user2.updateFrom(User("acidBurn", "libby", awayMessage = "Hacking the planet"))
  39. assertEquals("acidBurn", user2.nickname)
  40. assertEquals("libby", user2.ident)
  41. assertEquals("root.localhost", user2.hostname)
  42. assertEquals("acidBurn", user2.account)
  43. assertEquals("Libby", user2.realName)
  44. assertEquals("Hacking the planet", user2.awayMessage)
  45. }
  46. @Test
  47. fun `resets all fields`() {
  48. val user = User("acidBurn", "acidB", "root.localhost", "acidBurn", "Libby", "Hacking the planet!")
  49. user.reset("burn")
  50. assertEquals(User("burn"), user)
  51. }
  52. }