Skip to content
This repository has been archived by the owner on Jun 14, 2024. It is now read-only.

Commit

Permalink
#4 Verify array with two elements
Browse files Browse the repository at this point in the history
  • Loading branch information
baardl committed Apr 9, 2021
1 parent 16a76b8 commit cf051e1
Showing 1 changed file with 23 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
}
]
}
HexString: 30460e0c020000081e294c39014ec4020000084f294c39024ec4008000004f294c39034e1f
HexString: 0c020000081e294c39014ec4020000084f294c39024ec4008000004f294c39034e1f
*/
class ReadObjectPropertiesResultParserTest {

Expand Down Expand Up @@ -142,14 +142,32 @@ void parseSingleObjectMultiplePropertiesWithError() throws BacnetParserException
assertEquals("FW Series Bacnet Device", resultList.get(1).getReadResult().get(PropertyIdentifier.Description));
assertNotNull(resultList.get(2).getReadResult().get(PropertyIdentifier.XxError));
assertNotNull(resultList.get(3).getReadResult().get(PropertyIdentifier.XxError));
// assertEquals(Float.parseFloat("22.3999862670898"), resultList.get(3).getReadResult().get(PropertyIdentifier.PresentValue));
}

@Test
void parsePropertiesWithArray() throws BacnetParserException {
String hexString = "0c020000081e294c39014ec4020000084f294c39024ec4008000004f294c39031f";
ParserResult<ReadObjectPropertiesResult> parserResult = ReadObjectPropertiesResultParser.parse(hexString);
assertNotNull(parserResult);
assertTrue(parserResult.isParsedOk());
ReadObjectPropertiesResult propertiesResult = parserResult.getParsedObject();
assertNotNull(propertiesResult);
ObjectId objectId = new ObjectId(ObjectType.Device, 8);
assertEquals(objectId, propertiesResult.getObjectId());
List<ReadPropertyResult> resultList = propertiesResult.getResults();
assertNotNull(resultList);
assertEquals(2, resultList.size());
assertEquals(1, resultList.get(0).getArrayIndexNumber());
ObjectId expectedObjectId = new ObjectId(ObjectType.Device, 8);
assertEquals(expectedObjectId, resultList.get(0).getReadResult().get(PropertyIdentifier.ObjectList));
assertEquals(2, resultList.get(1).getArrayIndexNumber());
expectedObjectId = new ObjectId(ObjectType.AnalogValue, 0);
assertEquals(expectedObjectId, resultList.get(1).getReadResult().get(PropertyIdentifier.ObjectList));
}

@Test
void unparsableHexString() {
String hexString = "0000";
assertThrows(BacnetParserException.class, () -> {
ReadObjectPropertiesResultParser.parse(hexString);
});
assertThrows(BacnetParserException.class, () -> ReadObjectPropertiesResultParser.parse(hexString));
}
}

0 comments on commit cf051e1

Please sign in to comment.