blob: 41ca4539e1ad0c4758a344fb124d1bc9fd5e330f [file] [log] [blame]
Roman Elizarov43918972017-10-07 21:00:06 +03001/*
Roman Elizarov1f74a2d2018-06-29 19:19:45 +03002 * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
Roman Elizarov43918972017-10-07 21:00:06 +03003 */
4
5package kotlinx.coroutines.experimental.channels
6
7enum class TestBroadcastChannelKind {
8 ARRAY_1 {
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +03009 override fun <T> create(): BroadcastChannel<T> = ArrayBroadcastChannel(1)
Roman Elizarov43918972017-10-07 21:00:06 +030010 override fun toString(): String = "ArrayBroadcastChannel(1)"
11 },
12 ARRAY_10 {
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +030013 override fun <T> create(): BroadcastChannel<T> = ArrayBroadcastChannel(10)
Roman Elizarov43918972017-10-07 21:00:06 +030014 override fun toString(): String = "ArrayBroadcastChannel(10)"
15 },
16 CONFLATED {
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +030017 override fun <T> create(): BroadcastChannel<T> = ConflatedBroadcastChannel()
Roman Elizarov43918972017-10-07 21:00:06 +030018 override fun toString(): String = "ConflatedBroadcastChannel"
19 override val isConflated: Boolean get() = true
20 }
21 ;
22
Roman Elizarov45c85652017-10-13 14:46:22 +030023 abstract fun <T> create(): BroadcastChannel<T>
Roman Elizarov43918972017-10-07 21:00:06 +030024 open val isConflated: Boolean get() = false
25}