use of org.eclipse.vorto.model.runtime.InfomodelValue in project vorto by eclipse.
the class DataMapperTest method testMapWithJxpathCondition.
@Test
public void testMapWithJxpathCondition() throws Exception {
IDataMapper mapper = IDataMapper.newBuilder().withSpecification(new SpecWithPropertyConditionXpath()).build();
String json = "{\"data\" : [{\"id\": 100,\"value\": \"x\"},{\"id\": 200,\"value\": \"y\"}]}";
IPayloadDeserializer deserializer = new JSONDeserializer();
InfomodelValue mappedOutput = mapper.mapSource(deserializer.deserialize(json));
assertEquals(100.0, mappedOutput.get("button").getStatusProperty("sensor_value").get().getValue());
}
use of org.eclipse.vorto.model.runtime.InfomodelValue in project vorto by eclipse.
the class DataMapperTest method testMapSingleFunctionblockOfInfomodel2.
@Test
public void testMapSingleFunctionblockOfInfomodel2() {
IDataMapper mapper = IDataMapper.newBuilder().withSpecification(new SpecWithConditionedRules()).build();
final String sampleHomeConnectRESTResponse = "{\"data\" : { \"key\" : \"DoorState\", \"value\" : \"Locked\"}}";
IPayloadDeserializer deserializer = new JSONDeserializer();
InfomodelValue mappedOutput = mapper.mapSource(deserializer.deserialize(sampleHomeConnectRESTResponse));
System.out.println(mappedOutput);
assertNull(mappedOutput.get("operationState"));
FunctionblockValue doorStateFunctionblockData = mappedOutput.get("doorState");
assertEquals("Locked", (String) doorStateFunctionblockData.getStatusProperty("sensor_value").get().getValue());
}
use of org.eclipse.vorto.model.runtime.InfomodelValue in project vorto by eclipse.
the class ConfigurationMappingTest method testMapConfigurationSource.
@Test
public void testMapConfigurationSource() throws Exception {
IMappingSpecification spec = new SpecWithConfiguration2();
IDataMapper mapper = IDataMapper.newBuilder().withSpecification(spec).registerConverterFunction(new ClassFunction("button", ConfigurationMappingTest.class)).build();
Map<String, Object> source = new HashMap<String, Object>(1);
source.put("e", true);
InfomodelValue mapped = mapper.mapSource(source);
assertEquals(1, mapped.get("button").getConfiguration().size());
assertEquals(true, mapped.get("button").getConfiguration().get(0).getValue());
}
use of org.eclipse.vorto.model.runtime.InfomodelValue in project vorto by eclipse.
the class DataMapperTest method testMappingWithEnum.
@Test
public void testMappingWithEnum() throws Exception {
IDataMapper mapper = IDataMapper.newBuilder().withSpecification(new SpecWithNestedEnum()).build();
final String sampleDeviceData = "{\"temperature\" : 20.3 }";
IPayloadDeserializer deserializer = new JSONDeserializer();
InfomodelValue mappedOutput = mapper.mapSource(deserializer.deserialize(sampleDeviceData));
assertEquals(20.3, mappedOutput.get("outdoorTemperature").getStatusProperty("value").get().getValue());
assertEquals("Celcius", mappedOutput.get("outdoorTemperature").getStatusProperty("unit").get().getValue());
}
use of org.eclipse.vorto.model.runtime.InfomodelValue in project vorto by eclipse.
the class JsonMappingLoadTest method builtInConverterAndJs4.
@Test
@JUnitPerfTest(threads = THREAD_AMOUNT_4, durationMs = TEST_DURATION_4, rampUpPeriodMs = RAMP_PERIOD, warmUpMs = WARMUP_DURATION_4, maxExecutionsPerSecond = EXECUTIONS_PER_SECOND_4)
public void builtInConverterAndJs4() throws Exception {
int r = new Random().nextInt(2 + 1);
InfomodelValue mappedOutput = testCaseThreeMapper.mapSource(gson.fromJson(testCaseThreeJsonInput[r], Object.class));
FunctionblockValue buttonFunctionblockData = mappedOutput.get("button");
assertEquals(true, (Boolean) buttonFunctionblockData.getStatusProperty("digital_input_state").get().getValue());
assertEquals(testCaseThreeOutput[r], buttonFunctionblockData.getStatusProperty("digital_input_count").get().getValue());
FunctionblockValue voltageFunctionblockData = mappedOutput.get("voltage");
assertNull(voltageFunctionblockData);
}
Aggregations