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.

UserStateTest.kt 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.dmdirc.ktirc.model
  2. import com.dmdirc.ktirc.io.CaseMapping
  3. import org.junit.jupiter.api.Assertions.*
  4. import org.junit.jupiter.api.Test
  5. internal class UserStateTest {
  6. private val userState = UserState { CaseMapping.Rfc }
  7. @Test
  8. fun `UserState adds and gets new users`() {
  9. userState += User("acidBurn", "libby", "root.localhost")
  10. val user = userState["acidburn"]
  11. assertNotNull(user)
  12. assertEquals("acidBurn", user?.details?.nickname)
  13. assertEquals("libby", user?.details?.ident)
  14. assertEquals("root.localhost", user?.details?.hostname)
  15. }
  16. @Test
  17. fun `UserState removes users`() {
  18. userState += User("acidBurn", "libby", "root.localhost")
  19. userState -= User("ACIDBURN")
  20. assertNull(userState["acidburn"])
  21. }
  22. @Test
  23. fun `UserState updates existing user with same nickname`() {
  24. userState += User("acidBurn", "libby", "root.localhost")
  25. userState.update(User("acidBurn", realName = "Libby", awayMessage = "Hacking"))
  26. val user = userState["acidburn"]!!
  27. assertEquals("acidBurn", user.details.nickname)
  28. assertEquals("libby", user.details.ident)
  29. assertEquals("root.localhost", user.details.hostname)
  30. assertEquals("Libby", user.details.realName)
  31. assertEquals("Hacking", user.details.awayMessage)
  32. }
  33. @Test
  34. fun `UserState updates existing user with new nickname`() {
  35. userState += User("acidBurn", "libby", "root.localhost")
  36. userState.update(User("acidBurn2", realName = "Libby", awayMessage = "Hacking"), "acidBurn")
  37. val user = userState["acidburn2"]!!
  38. assertEquals("acidBurn2", user.details.nickname)
  39. assertEquals("libby", user.details.ident)
  40. assertEquals("root.localhost", user.details.hostname)
  41. assertEquals("Libby", user.details.realName)
  42. assertEquals("Hacking", user.details.awayMessage)
  43. assertNull(userState["acidBurn"])
  44. }
  45. }