yeg
2026-08-26 f9e7ed27f6ae71f6b2d89c40b422284a7e5411d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.ruoyi.device.contract;
 
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.Duration;
import org.junit.jupiter.api.Test;
import com.ruoyi.device.bts.BtsTcpTransport;
import com.ruoyi.device.bts.ScriptedBtsTcpSimulator;
 
class SimulatorPublicContractTest
{
    @Test
    void simulatorIsReusableOutsideTheBtsPackage() throws Exception
    {
        try (ScriptedBtsTcpSimulator simulator = new ScriptedBtsTcpSimulator();
             BtsTcpTransport transport = new BtsTcpTransport("127.0.0.1", simulator.port(),
                     Duration.ofSeconds(1), Duration.ofSeconds(1)))
        {
            simulator.enqueue("<bts><cmd>getdevinfo_resp</cmd><middle count=\"0\"/></bts>");
 
            assertEquals("<bts><cmd>getdevinfo_resp</cmd><middle count=\"0\"/></bts>",
                    transport.exchange("<bts><cmd>getdevinfo</cmd></bts>"));
            assertEquals(1, simulator.requests().size());
        }
    }
}