Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

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