Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

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. }