Merge pull request #12203 from thingsboard/tbel_doc_bitWiseOperations

tbel_tests_doc_bitwise_operations
This commit is contained in:
Andrew Shvayka 2024-12-31 10:12:48 +02:00 committed by GitHub
commit 45c6b063bf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1697,6 +1697,62 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
assertEquals(4.2d, actual);
}
// Bitwise Operations
@Test
public void bitwiseOperationsBoolean_Test() throws ExecutionException, InterruptedException {
msgStr = "{}";
decoderStr = """
var x = true;
var y = false;
return {
"andResult": x & y,
"orResult": x | y,
"xorResult": x ^ y,
"leftShift": x << y,
"rightShift": x >> y,
"rightUnShift": x >>> y
}
""";
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
expected.put("andResult", 0);
expected.put("orResult", 1);
expected.put("xorResult", 1);
expected.put("leftShift", 1);
expected.put("rightShift", 1);
expected.put("rightUnShift", 1);
Object actual = invokeScript(evalScript(decoderStr), msgStr);
assertEquals(expected, actual);
}
@Test
public void bitwiseOperationsMix_Test() throws ExecutionException, InterruptedException {
msgStr = "{}";
decoderStr = """
var x = true;
var y = false;
var i = 10;
var b = -14;
var l = 9223372036854775807;
return {
"andResult": x & b,
"orResult": i | y,
"xorResult": i ^ l,
"leftShift": l << i,
"rightShift": l >> b,
"rightUnShift": i >>> x
}
""";
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
expected.put("andResult", 0);
expected.put("orResult", 10);
expected.put("xorResult", 9223372036854775797L);
expected.put("leftShift", -1024L);
expected.put("rightShift", 8191L);
expected.put("rightUnShift", 5);
Object actual = invokeScript(evalScript(decoderStr), msgStr);
assertEquals(expected, actual);
}
// base64
@Test
public void base64_Test() throws ExecutionException, InterruptedException {