David Liu

participant tests

... ... @@ -49,6 +49,7 @@ class SubscriberTransportObserver(
}
override fun onIceConnectionChange(p0: PeerConnection.IceConnectionState?) {
Timber.v { "onIceConnection new state: $p0" }
}
override fun onIceConnectionReceivingChange(p0: Boolean) {
... ...
... ... @@ -21,6 +21,14 @@ open class Participant(var sid: String, identity: String? = null) {
}
}
var metadata: String? = null
internal set(v) {
val prevMetadata = field
field = v
if (prevMetadata != v) {
listener?.onMetadataChanged(this, prevMetadata)
internalListener?.onMetadataChanged(this, prevMetadata)
}
}
/**
* Listener for when participant properties change
... ... @@ -64,14 +72,7 @@ open class Participant(var sid: String, identity: String? = null) {
sid = info.sid
identity = info.identity
participantInfo = info
val prevMetadata = metadata
metadata = info.metadata
if (prevMetadata != metadata) {
listener?.onMetadataChanged(this, prevMetadata)
internalListener?.onMetadataChanged(this, prevMetadata)
}
}
override fun equals(other: Any?): Boolean {
... ...
... ... @@ -15,7 +15,8 @@ import org.webrtc.VideoTrack
class RemoteParticipant(
val rtcClient: RTCClient,
sid: String, name: String? = null,
sid: String,
name: String? = null,
) : Participant(sid, name) {
/**
* @suppress
... ...
... ... @@ -4,7 +4,10 @@ import livekit.LivekitModels
import org.webrtc.DataChannel
import org.webrtc.MediaStreamTrack
open class Track(name: String, kind: LivekitModels.TrackType) {
open class Track(
name: String,
kind: LivekitModels.TrackType
) {
var name = name
internal set
var kind = kind
... ...
package io.livekit.android.room.participant
import livekit.LivekitModels
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
class ParticipantTest {
lateinit var participant: Participant
@Before
fun setup() {
participant = Participant("", null)
}
@Test
fun updateFromInfo() {
participant.updateFromInfo(INFO)
assertTrue(participant.hasInfo)
assertEquals(INFO.sid, participant.sid)
assertEquals(INFO.identity, participant.identity)
assertEquals(INFO.metadata, participant.metadata)
}
@Test
fun setMetadataCallsListeners() {
class MetadataListener : ParticipantListener {
var wasCalled = false
lateinit var participantValue: Participant
var prevMetadataValue: String? = null
override fun onMetadataChanged(participant: Participant, prevMetadata: String?) {
wasCalled = true
participantValue = participant
prevMetadataValue = prevMetadata
}
}
val publicListener = MetadataListener()
val internalListener = MetadataListener()
participant.listener = publicListener
participant.internalListener = internalListener
val prevMetadata = participant.metadata
val metadata = "metadata"
participant.metadata = metadata
fun checkValues(listener: MetadataListener) {
assertTrue(listener.wasCalled)
assertEquals(participant, listener.participantValue)
assertEquals(prevMetadata, listener.prevMetadataValue)
}
checkValues(publicListener)
checkValues(internalListener)
}
companion object {
val INFO = LivekitModels.ParticipantInfo.newBuilder()
.setSid("sid")
.setIdentity("identity")
.setMetadata("metadata")
.build()
}
}
\ No newline at end of file
... ...
package io.livekit.android.room.participant
import org.junit.Test
import org.junit.Assert.*
class RemoteParticipantTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}
... ...