use of org.ballerinalang.model.values.BValue in project carbon-apimgt by wso2.
the class MapRemoveTestCase method testCacheOperations.
@Test
public void testCacheOperations() {
// Create arguments to initiate map put
BValue[] args = { new BString("testMapEntry"), new BString("testMapValue") };
// Test ballerina map put, remove and get
BValue[] returns = BLangFunctions.invokeNew(bLangProgram, "testMapRemove", args);
// Assert if cache entry is BValue
Assert.assertTrue(returns[0] instanceof BValue);
}
use of org.ballerinalang.model.values.BValue in project carbon-apimgt by wso2.
the class GetKeysTestCase method testGetKeys.
@Test(description = "Get keys from a JSON object")
public void testGetKeys() {
BValue[] args = {};
BValue[] returns = BLangFunctions.invokeNew(bLangProgram, "testGetKeys", args);
Assert.assertTrue(returns[0] instanceof BStringArray);
BStringArray keys = (BStringArray) returns[0];
Assert.assertEquals(keys.size(), 3);
Assert.assertEquals(keys.get(0), "fname");
Assert.assertEquals(keys.get(1), "lname");
Assert.assertEquals(keys.get(2), "age");
Assert.assertTrue(returns[1] instanceof BStringArray);
Assert.assertEquals(((BStringArray) returns[1]).size(), 0);
Assert.assertTrue(returns[2] instanceof BStringArray);
Assert.assertEquals(((BStringArray) returns[2]).size(), 0);
Assert.assertTrue(returns[3] instanceof BStringArray);
Assert.assertEquals(((BStringArray) returns[3]).size(), 0);
}
use of org.ballerinalang.model.values.BValue in project carbon-apimgt by wso2.
the class ListFilesTestCase method testListJsonFiles.
@Test(description = "Returns a string array of json file names")
public void testListJsonFiles() {
BValue[] args = {};
BValue[] returns = BLangFunctions.invokeNew(bLangProgram, "listJsonFiles", args);
Assert.assertTrue(returns[0] instanceof BStringArray);
Assert.assertEquals(((BStringArray) returns[0]).size(), 0);
Assert.assertTrue(returns[1] instanceof BStringArray);
BStringArray d1Files = (BStringArray) returns[1];
Assert.assertEquals(d1Files.size(), 1);
Assert.assertEquals(d1Files.get(0), "a.json");
}
use of org.ballerinalang.model.values.BValue in project carbon-apimgt by wso2.
the class WaitTestCase method testCacheDeleteOperation.
@Test
public void testCacheDeleteOperation() {
// Create arguments to initiate cache
BValue[] args = { new BInteger(15) };
// Test ballerina cache create, put and get
BValue[] returns = BLangFunctions.invokeNew(bLangProgram, "testWait", args);
// Assert if cache entry is BValue
Assert.assertTrue(returns[0] instanceof BValue);
}
use of org.ballerinalang.model.values.BValue in project ballerina by ballerina-lang.
the class BTestRunner method extractArguments.
/**
* Extract function arguments from the values sets.
* @param valueSets user provided value sets
* @return a list of function arguments
*/
private List<BValue[]> extractArguments(BValue[] valueSets) {
List<BValue[]> argsList = new ArrayList<>();
for (BValue value : valueSets) {
if (value instanceof BRefValueArray) {
BRefValueArray array = (BRefValueArray) value;
for (BIterator it = array.newIterator(); it.hasNext(); ) {
BValue[] vals = it.getNext(0);
if (vals[1] instanceof BNewArray) {
BNewArray bNewArray = (BNewArray) vals[1];
BValue[] args = new BValue[(int) bNewArray.size()];
for (int j = 0; j < bNewArray.size(); j++) {
args[j] = bNewArray.getBValue(j);
}
argsList.add(args);
} else {
// cannot happen due to validations done at annotation processor
}
}
} else if (value instanceof BJSON) {
BJSON jsonArrayOfArrays = (BJSON) value;
for (BIterator it = jsonArrayOfArrays.newIterator(); it.hasNext(); ) {
BValue[] vals = it.getNext(0);
if (vals[1] instanceof BJSON) {
List<BValue> args = new ArrayList<>();
BJSON jsonArray = (BJSON) vals[1];
for (BIterator it2 = jsonArray.newIterator(); it2.hasNext(); ) {
BValue[] vals2 = it2.getNext(0);
args.add(vals2[1]);
}
argsList.add(args.toArray(new BValue[0]));
} else {
// cannot happen due to validations done at annotation processor
}
}
} else {
argsList.add(new BValue[] { value });
}
}
return argsList;
}
Aggregations