Skip to content

Commit e7e8349

Browse files
committed
Minor fixes and some new unit test cases.
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
1 parent adf768d commit e7e8349

File tree

2 files changed

+147
-16
lines changed

2 files changed

+147
-16
lines changed

library/src/test/java/com/digi/xbee/api/connection/DataReaderTest.java

Lines changed: 115 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,7 @@ public Integer answer(InvocationOnMock invocation) throws Throwable {
931931
// Call the method under test.
932932
dataReader.start();
933933

934-
Thread.sleep(150);
934+
Thread.sleep(200);
935935
testCI.notifyData();
936936
while (!testCI.alreadyRead)
937937
Thread.sleep(30);
@@ -966,7 +966,7 @@ public XBeePacket answer(InvocationOnMock invocation) throws Throwable {
966966
// Call the method under test.
967967
dataReader.start();
968968

969-
Thread.sleep(150);
969+
Thread.sleep(200);
970970
testCI.notifyData();
971971
while (!testCI.alreadyRead)
972972
Thread.sleep(30);
@@ -1004,7 +1004,7 @@ public final void testDataReaderReceivePacketNotContemplatedPacket() throws Exce
10041004
// Call the method under test.
10051005
dataReader.start();
10061006

1007-
Thread.sleep(150);
1007+
Thread.sleep(200);
10081008
testCI.notifyData();
10091009
while (!testCI.alreadyRead)
10101010
Thread.sleep(30);
@@ -1046,7 +1046,7 @@ public final void testDataReaderReceivePacketListentoFrameIDNotReceived() throws
10461046
// Call the method under test.
10471047
dataReader.start();
10481048

1049-
Thread.sleep(150);
1049+
Thread.sleep(200);
10501050
testCI.notifyData();
10511051
while (!testCI.alreadyRead)
10521052
Thread.sleep(30);
@@ -1088,7 +1088,7 @@ public final void testDataReaderReceivePacketListentoFrameIDReceived() throws Ex
10881088
// Call the method under test.
10891089
dataReader.start();
10901090

1091-
Thread.sleep(150);
1091+
Thread.sleep(200);
10921092
testCI.notifyData();
10931093
while (!testCI.alreadyRead)
10941094
Thread.sleep(30);
@@ -1130,7 +1130,7 @@ public final void testDataReaderReceivePacketATResponse() throws Exception {
11301130
// Call the method under test.
11311131
dataReader.start();
11321132

1133-
Thread.sleep(150);
1133+
Thread.sleep(200);
11341134
testCI.notifyData();
11351135
while (!testCI.alreadyRead)
11361136
Thread.sleep(30);
@@ -1172,7 +1172,7 @@ public final void testDataReaderReceivePacketRemoteATResponse() throws Exception
11721172
// Call the method under test.
11731173
dataReader.start();
11741174

1175-
Thread.sleep(150);
1175+
Thread.sleep(200);
11761176
testCI.notifyData();
11771177
while (!testCI.alreadyRead)
11781178
Thread.sleep(30);
@@ -1214,7 +1214,7 @@ public final void testDataReaderReceivePacketRX64DataPacket() throws Exception {
12141214
// Call the method under test.
12151215
dataReader.start();
12161216

1217-
Thread.sleep(150);
1217+
Thread.sleep(200);
12181218
testCI.notifyData();
12191219
while (!testCI.alreadyRead)
12201220
Thread.sleep(30);
@@ -1256,7 +1256,7 @@ public final void testDataReaderReceivePacketRX16DataPacket() throws Exception {
12561256
// Call the method under test.
12571257
dataReader.start();
12581258

1259-
Thread.sleep(150);
1259+
Thread.sleep(200);
12601260
testCI.notifyData();
12611261
while (!testCI.alreadyRead)
12621262
Thread.sleep(30);
@@ -1298,7 +1298,7 @@ public final void testDataReaderReceivePacketRXDataPacket() throws Exception {
12981298
// Call the method under test.
12991299
dataReader.start();
13001300

1301-
Thread.sleep(150);
1301+
Thread.sleep(200);
13021302
testCI.notifyData();
13031303
while (!testCI.alreadyRead)
13041304
Thread.sleep(30);
@@ -1340,7 +1340,7 @@ public final void testDataReaderReceivePacketRXIO64DataPacket() throws Exception
13401340
// Call the method under test.
13411341
dataReader.start();
13421342

1343-
Thread.sleep(150);
1343+
Thread.sleep(200);
13441344
testCI.notifyData();
13451345
while (!testCI.alreadyRead)
13461346
Thread.sleep(30);
@@ -1382,7 +1382,7 @@ public final void testDataReaderReceivePacketRXIO16DataPacket() throws Exception
13821382
// Call the method under test.
13831383
dataReader.start();
13841384

1385-
Thread.sleep(150);
1385+
Thread.sleep(200);
13861386
testCI.notifyData();
13871387
while (!testCI.alreadyRead)
13881388
Thread.sleep(30);
@@ -1424,7 +1424,7 @@ public final void testDataReaderReceivePacketRXIOPacket() throws Exception {
14241424
// Call the method under test.
14251425
dataReader.start();
14261426

1427-
Thread.sleep(150);
1427+
Thread.sleep(200);
14281428
testCI.notifyData();
14291429
while (!testCI.alreadyRead)
14301430
Thread.sleep(30);
@@ -1466,7 +1466,7 @@ public final void testDataReaderReceivePacketModemStatusPacket() throws Exceptio
14661466
// Call the method under test.
14671467
dataReader.start();
14681468

1469-
Thread.sleep(150);
1469+
Thread.sleep(200);
14701470
testCI.notifyData();
14711471
while (!testCI.alreadyRead)
14721472
Thread.sleep(30);
@@ -1508,7 +1508,7 @@ public final void testDataReaderReceivePacketExplicitIndicatorDigiPacket() throw
15081508
// Call the method under test.
15091509
dataReader.start();
15101510

1511-
Thread.sleep(150);
1511+
Thread.sleep(200);
15121512
testCI.notifyData();
15131513
while (!testCI.alreadyRead)
15141514
Thread.sleep(30);
@@ -1550,7 +1550,7 @@ public final void testDataReaderReceivePacketExplicitIndicatorPacket() throws Ex
15501550
// Call the method under test.
15511551
dataReader.start();
15521552

1553-
Thread.sleep(150);
1553+
Thread.sleep(200);
15541554
testCI.notifyData();
15551555
while (!testCI.alreadyRead)
15561556
Thread.sleep(30);
@@ -1564,4 +1564,103 @@ public final void testDataReaderReceivePacketExplicitIndicatorPacket() throws Ex
15641564
Mockito.verify(modemListener, Mockito.times(0)).modemStatusEventReceived(Mockito.any(ModemStatusEvent.class));
15651565
Mockito.verify(explicitListener, Mockito.times(1)).explicitDataReceived(Mockito.any(ExplicitXBeeMessage.class));
15661566
}
1567+
1568+
/**
1569+
* Test method for {@link com.digi.xbee.api.connection.DataReader#start()}.
1570+
*/
1571+
@Test
1572+
public final void testDataReaderReceivePacketIOExceptionWhenReading() throws Exception {
1573+
// Setup the resources for the test.
1574+
Mockito.doAnswer(new Answer<XBeePacket>() {
1575+
@Override
1576+
public XBeePacket answer(InvocationOnMock invocation) throws Throwable {
1577+
if (testCI.alreadyRead)
1578+
return null;
1579+
1580+
testCI.alreadyRead = true;
1581+
throw new IOException("Exception when reading");
1582+
}
1583+
}).when(mockInput).read();
1584+
1585+
DataReader dataReader = new DataReader(testCI, OperatingMode.API, mockDevice);
1586+
IPacketReceiveListener packetListener = Mockito.mock(IPacketReceiveListener.class);
1587+
dataReader.addPacketReceiveListener(packetListener);
1588+
1589+
// Call the method under test.
1590+
dataReader.start();
1591+
1592+
Thread.sleep(200);
1593+
testCI.notifyData();
1594+
while (!testCI.alreadyRead)
1595+
Thread.sleep(30);
1596+
1597+
// Verify the result.
1598+
Mockito.verify(mockQueue, Mockito.times(0)).addPacket(Mockito.any(XBeePacket.class));
1599+
Mockito.verify(packetListener, Mockito.times(0)).packetReceived(Mockito.any(XBeePacket.class));
1600+
}
1601+
1602+
/**
1603+
* Test method for {@link com.digi.xbee.api.connection.DataReader#start()}.
1604+
*/
1605+
@Test
1606+
public final void testDataReaderReceivePacketATmode() throws Exception {
1607+
// Setup the resources for the test.
1608+
TestConnectionInterface testCI = new TestConnectionInterface() {
1609+
@Override
1610+
public InputStream getInputStream() {
1611+
if (alreadyRead)
1612+
return null;
1613+
1614+
alreadyRead = true;
1615+
return mockInput;
1616+
}
1617+
};
1618+
DataReader dataReader = new DataReader(testCI, OperatingMode.AT, mockDevice);
1619+
IPacketReceiveListener packetListener = Mockito.mock(IPacketReceiveListener.class);
1620+
dataReader.addPacketReceiveListener(packetListener);
1621+
1622+
// Call the method under test.
1623+
dataReader.start();
1624+
1625+
Thread.sleep(200);
1626+
testCI.notifyData();
1627+
while (!testCI.alreadyRead)
1628+
Thread.sleep(30);
1629+
1630+
// Verify the result.
1631+
Mockito.verify(mockInput, Mockito.times(0)).read();
1632+
Mockito.verify(mockQueue, Mockito.times(0)).addPacket(Mockito.any(XBeePacket.class));
1633+
Mockito.verify(packetListener, Mockito.times(0)).packetReceived(Mockito.any(XBeePacket.class));
1634+
}
1635+
1636+
/**
1637+
* Test method for {@link com.digi.xbee.api.connection.DataReader#start()}.
1638+
*/
1639+
@Test
1640+
public final void testDataReaderReceivePacketNullInputStream() throws Exception {
1641+
// Setup the resources for the test.
1642+
TestConnectionInterface testCI = new TestConnectionInterface() {
1643+
@Override
1644+
public InputStream getInputStream() {
1645+
alreadyRead = true;
1646+
return null;
1647+
}
1648+
};
1649+
DataReader dataReader = new DataReader(testCI, OperatingMode.AT, mockDevice);
1650+
IPacketReceiveListener packetListener = Mockito.mock(IPacketReceiveListener.class);
1651+
dataReader.addPacketReceiveListener(packetListener);
1652+
1653+
// Call the method under test.
1654+
dataReader.start();
1655+
1656+
Thread.sleep(200);
1657+
testCI.notifyData();
1658+
while (!testCI.alreadyRead)
1659+
Thread.sleep(30);
1660+
1661+
// Verify the result.
1662+
Mockito.verify(mockInput, Mockito.times(0)).read();
1663+
Mockito.verify(mockQueue, Mockito.times(0)).addPacket(Mockito.any(XBeePacket.class));
1664+
Mockito.verify(packetListener, Mockito.times(0)).packetReceived(Mockito.any(XBeePacket.class));
1665+
}
15671666
}

library/src/test/java/com/digi/xbee/api/io/IOSampleTest.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,4 +425,36 @@ public void testGetAnalogValuesModify() {
425425
assertThat(result.hashCode(), is(equalTo(backup.hashCode())));
426426
assertThat(result.hashCode(), is(not(equalTo(values.hashCode()))));
427427
}
428+
429+
/**
430+
* Test method for {@link com.digi.xbee.api.io.IOSample#getDigitalHSBMask()}.
431+
*/
432+
@Test
433+
public void testGetDigitalHSBMask() {
434+
// Setup the resources for the test.
435+
IOSample ioSample = new IOSample(IO_DATA_ONLY_DIGITAL);
436+
int expected = IO_DATA_ONLY_DIGITAL[1] & 0x7F;
437+
438+
// Call the method under test.
439+
int result = ioSample.getDigitalHSBMask();
440+
441+
// Verify the result.
442+
assertThat(result, is(equalTo(expected)));
443+
}
444+
445+
/**
446+
* Test method for {@link com.digi.xbee.api.io.IOSample#getDigitalLSBMask()}.
447+
*/
448+
@Test
449+
public void testGetDigitalLSBMask() {
450+
// Setup the resources for the test.
451+
IOSample ioSample = new IOSample(IO_DATA_ONLY_DIGITAL);
452+
int expected = IO_DATA_ONLY_DIGITAL[2] & 0xFF;
453+
454+
// Call the method under test.
455+
int result = ioSample.getDigitalLSBMask();
456+
457+
// Verify the result.
458+
assertThat(result, is(equalTo(expected)));
459+
}
428460
}

0 commit comments

Comments
 (0)