package kotlinx.coroutines.channels import kotlinx.coroutines.testing.* import kotlinx.coroutines.* import kotlin.test.* class ChannelFactoryTest : TestBase() { @Test fun testRendezvousChannel() { assertIs>(Channel()) assertIs>(Channel(0)) } @Test fun testUnlimitedChannel() { assertIs>(Channel(Channel.UNLIMITED)) assertIs>(Channel(Channel.UNLIMITED, BufferOverflow.DROP_OLDEST)) assertIs>(Channel(Channel.UNLIMITED, BufferOverflow.DROP_LATEST)) } @Test fun testConflatedChannel() { assertIs>(Channel(Channel.CONFLATED)) assertIs>(Channel(1, BufferOverflow.DROP_OLDEST)) } @Test fun testBufferedChannel() { assertIs>(Channel(1)) assertIs>(Channel(1, BufferOverflow.DROP_LATEST)) assertIs>(Channel(10)) } @Test fun testInvalidCapacityNotSupported() { assertFailsWith { Channel(-3) } } @Test fun testUnsupportedBufferOverflow() { assertFailsWith { Channel(Channel.CONFLATED, BufferOverflow.DROP_OLDEST) } assertFailsWith { Channel(Channel.CONFLATED, BufferOverflow.DROP_LATEST) } } }