You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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