added tests for tbel doc examples
This commit is contained in:
parent
26c9c565b1
commit
d1eec11d9d
@ -1091,6 +1091,24 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toInt_Test() throws ExecutionException, InterruptedException {
|
||||
msgStr = "{}";
|
||||
decoderStr = """
|
||||
return{
|
||||
toInt1: toInt(0.3),
|
||||
toInt2: toInt(0.5),
|
||||
toInt3: toInt(2.7)
|
||||
}
|
||||
""";
|
||||
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
|
||||
expected.put("toInt1", 0);
|
||||
expected.put("toInt2", 1);
|
||||
expected.put("toInt3", 3);
|
||||
Object actual = invokeScript(evalScript(decoderStr), msgStr);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void stringToBytesBinaryString_Test() throws ExecutionException, InterruptedException {
|
||||
String base64Str = "eyJoZWxsbyI6ICJ3b3JsZCJ9";
|
||||
@ -1173,7 +1191,9 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
"decimal": isDecimal("4567039"),
|
||||
"notDecimal": isDecimal("C100110"),
|
||||
"hexadecimal": isHexadecimal("F5D7039"),
|
||||
"notHexadecimal": isHexadecimal("K100110")
|
||||
"notHexadecimal": isHexadecimal("K100110"),
|
||||
"nan": isNaN(0.0 / 0.0),
|
||||
"number": isNaN(1.0)
|
||||
}
|
||||
""";
|
||||
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
|
||||
@ -1185,6 +1205,8 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
expected.put("notDecimal", -1);
|
||||
expected.put("hexadecimal", 16);
|
||||
expected.put("notHexadecimal", -1);
|
||||
expected.put("nan", true);
|
||||
expected.put("number", false);
|
||||
Object actual = invokeScript(evalScript(decoderStr), msgStr);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
@ -1460,7 +1482,6 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
"bytesLongToDouble1": parseBytesLongToDouble(coordinatesasBytes, offsetLatLong, 8, false) / factor,
|
||||
"bytesLongToDouble2": parseBytesLongToDouble(coordinatesasBytes, offsetLatLong + 8, 8, false) / factor,
|
||||
"bytesLongToExecutionArrayList": bytesToExecutionArrayList(bytesExecutionArrayList)
|
||||
|
||||
}
|
||||
""";
|
||||
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
|
||||
@ -1512,7 +1533,7 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
expected.put("hexToBytes", bytesToList(new byte[]{1, 117, 43, 3, 103, -6, 0, 5, 0, 1, 4, -120, -1, -1, -1, -1, -1, -1, -1, -1, 51}));
|
||||
// [-86, -69, -52, -35, -18] == new byte[]{(byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE}
|
||||
expected.put("hexToBytesArray", bytesToList(new byte[]{(byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE}));
|
||||
assertEquals( expected, actual);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
// parseBinaryArray
|
||||
@ -1769,6 +1790,7 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
Object actual = invokeScript(evalScript(decoderStr), msgStr);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bitwiseOperationsMix_Test() throws ExecutionException, InterruptedException {
|
||||
msgStr = "{}";
|
||||
@ -2425,6 +2447,42 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
|
||||
assertFalse((Boolean) actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isInsidePolygon_Test() throws ExecutionException, InterruptedException {
|
||||
msgStr = "{}";
|
||||
decoderStr = """
|
||||
String perimeter = "[[[37.7810,-122.4210],[37.7890,-122.3900],[37.7700,-122.3800],[37.7600,-122.4000],[37.7700,-122.4250],[37.7810,-122.4210]],[[37.7730,-122.4050],[37.7700,-122.3950],[37.7670,-122.3980],[37.7690,-122.4100],[37.7730,-122.4050]]]";
|
||||
return{
|
||||
outsidePolygon: isInsidePolygon(37.8000, -122.4300, perimeter),
|
||||
insidePolygon: isInsidePolygon(37.7725, -122.4010, perimeter),
|
||||
insideHole: isInsidePolygon(37.7700, -122.4030, perimeter)
|
||||
}
|
||||
""";
|
||||
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
|
||||
expected.put("outsidePolygon", false);
|
||||
expected.put("insidePolygon", true);
|
||||
expected.put("insideHole", false);
|
||||
Object actual = invokeScript(evalScript(decoderStr), msgStr);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isInsideCircle_Test() throws ExecutionException, InterruptedException {
|
||||
msgStr = "{}";
|
||||
decoderStr = """
|
||||
String perimeter = "{\\"latitude\\":37.7749,\\"longitude\\":-122.4194,\\"radius\\":3000,\\"radiusUnit\\":\\"METER\\"}";
|
||||
return{
|
||||
outsideCircle: isInsideCircle(37.8044, -122.2712, perimeter),
|
||||
insideCircle: isInsideCircle(37.7599, -122.4148, perimeter)
|
||||
}
|
||||
""";
|
||||
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
|
||||
expected.put("outsideCircle", false);
|
||||
expected.put("insideCircle", true);
|
||||
Object actual = invokeScript(evalScript(decoderStr), msgStr);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
private List splice(List oldList, int start, int deleteCount, Object... values) {
|
||||
start = initStartIndex(oldList, start);
|
||||
deleteCount = deleteCount < 0 ? 0 : Math.min(deleteCount, (oldList.size() - start));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user