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.

IrcServerStateTest.kt 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.dmdirc.ktirc.state
  2. import org.junit.jupiter.api.Assertions.*
  3. import org.junit.jupiter.api.Test
  4. import java.lang.IllegalArgumentException
  5. internal class IrcServerStateTest {
  6. @Test
  7. fun `IrcServerState should return defaults for unspecified features`() {
  8. val serverState = IrcServerState("")
  9. assertEquals(200, serverState.getFeature(ServerFeature.MaximumChannelNameLength))
  10. }
  11. @Test
  12. fun `IrcServerState should return null for unspecified features with no default`() {
  13. val serverState = IrcServerState("")
  14. assertNull(serverState.getFeature(ServerFeature.ChannelModes))
  15. }
  16. @Test
  17. fun `IrcServerState should return previously set value for features`() {
  18. val serverState = IrcServerState("")
  19. serverState.setFeature(ServerFeature.MaximumChannels, 123)
  20. assertEquals(123, serverState.getFeature(ServerFeature.MaximumChannels))
  21. }
  22. @Test
  23. fun `IrcServerState should return default set value for features that were reset`() {
  24. val serverState = IrcServerState("")
  25. serverState.setFeature(ServerFeature.MaximumChannels, 123)
  26. serverState.resetFeature(ServerFeature.MaximumChannels)
  27. assertNull(serverState.getFeature(ServerFeature.MaximumChannels))
  28. }
  29. @Test
  30. fun `IrcServerState should throw if a feature is set with the wrong type`() {
  31. val serverState = IrcServerState("")
  32. assertThrows(IllegalArgumentException::class.java) {
  33. serverState.setFeature(ServerFeature.MaximumChannels, "123")
  34. }
  35. }
  36. @Test
  37. fun `IrcServerState should use the initial nickname as local nickname`() {
  38. val serverState = IrcServerState("acidBurn")
  39. assertEquals("acidBurn", serverState.localNickname)
  40. }
  41. }