summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelContext.kt9
-rw-r--r--engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelDataClassesTest.kt6
2 files changed, 10 insertions, 5 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelContext.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelContext.kt
index 02dc1d3..54b98e0 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelContext.kt
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelContext.kt
@@ -1,7 +1,12 @@
package dev.m1sk9.lunaticChat.engine.chat.channel
+/**
+ * A player's active channel together with its member list.
+ */
data class ChannelContext(
- val channelId: String,
val channel: Channel,
val members: List<ChannelMember>,
-)
+) {
+ /** Shorthand for the channel's id, which callers ask for far more often than the channel. */
+ val channelId: String get() = channel.id
+}
diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelDataClassesTest.kt b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelDataClassesTest.kt
index 4684432..de514b1 100644
--- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelDataClassesTest.kt
+++ b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/channel/ChannelDataClassesTest.kt
@@ -114,7 +114,7 @@ class ChannelDataClassesTest {
fun `ChannelContext should store all fields`() {
val channel = Channel(id = "ch-1", name = "Test", ownerId = testOwnerId)
val member = ChannelMember(channelId = "ch-1", playerId = testPlayerId, role = ChannelRole.MEMBER)
- val context = ChannelContext(channelId = "ch-1", channel = channel, members = listOf(member))
+ val context = ChannelContext(channel = channel, members = listOf(member))
assertEquals("ch-1", context.channelId)
assertEquals(channel, context.channel)
@@ -125,8 +125,8 @@ class ChannelDataClassesTest {
@Test
fun `ChannelContext copy should create independent instance`() {
val channel = Channel(id = "ch-1", name = "Test", ownerId = testOwnerId)
- val original = ChannelContext(channelId = "ch-1", channel = channel, members = emptyList())
- val copied = original.copy(channelId = "ch-2")
+ val original = ChannelContext(channel = channel, members = emptyList())
+ val copied = original.copy(channel = channel.copy(id = "ch-2"))
assertEquals("ch-2", copied.channelId)
assertNotEquals(original.channelId, copied.channelId)