17
17
package com.pedro.srt.mpeg2ts
18
18
19
19
import com.pedro.srt.mpeg2ts.psi.PsiManager
20
- import com.pedro.srt.mpeg2ts.psi.TableToSend
21
20
import com.pedro.srt.mpeg2ts.service.Mpeg2TsService
22
21
import org.junit.Assert.assertEquals
23
22
import org.junit.Test
@@ -27,26 +26,31 @@ import org.junit.Test
27
26
*/
28
27
class PsiManagerTest {
29
28
30
- private val service = Mpeg2TsService ()
29
+ private val service = Mpeg2TsService ().apply { generatePmt() }
30
+ private val psiManager = PsiManager (service).apply {
31
+ upgradePatVersion()
32
+ upgradeSdtVersion()
33
+ }
34
+ private val mpegTsPacketizer = MpegTsPacketizer (psiManager)
31
35
32
36
@Test
33
37
fun `GIVEN a psiManager WHEN call should send is key false patPeriod times THEN return TableToSend PAT_PMT` () {
34
38
val psiManager = PsiManager (service)
35
- var sendValue = TableToSend . NONE
39
+ var packets = listOf< MpegTsPacket >()
36
40
(0 .. PsiManager .patPeriod).forEach { _ ->
37
- sendValue = psiManager.shouldSend (false )
41
+ packets = psiManager.checkSendInfo (false , mpegTsPacketizer )
38
42
}
39
- assertEquals(TableToSend . PAT_PMT , sendValue )
43
+ assertEquals(2 , packets.size )
40
44
}
41
45
42
46
@Test
43
47
fun `GIVEN a psiManager WHEN call should send is key false sdtPeriod times THEN return TableToSend ALL` () {
44
48
val psiManager = PsiManager (service)
45
- var sendValue = TableToSend . NONE
49
+ var packets = listOf< MpegTsPacket >()
46
50
(0 .. PsiManager .sdtPeriod).forEach { _ ->
47
- sendValue = psiManager.shouldSend (false )
51
+ packets = psiManager.checkSendInfo (false , mpegTsPacketizer )
48
52
}
49
- assertEquals(TableToSend . ALL , sendValue )
53
+ assertEquals(3 , packets.size )
50
54
}
51
55
52
56
@Test
0 commit comments