use of org.eclipse.smarthome.core.items.Item in project smarthome by eclipse.
the class GenericItemProvider2Test method testStableOrder.
@Test
public void testStableOrder() {
assertThat(itemRegistry.getAll().size(), is(0));
String model = //
"Group testGroup " + //
"Number number1 (testGroup) " + //
"Number number2 (testGroup) " + //
"Number number3 (testGroup) " + //
"Number number4 (testGroup) " + //
"Number number5 (testGroup) " + //
"Number number6 (testGroup) " + //
"Number number7 (testGroup) " + //
"Number number8 (testGroup) " + "Number number9 (testGroup) ";
modelRepository.addOrRefreshModel(TESTMODEL_NAME, new ByteArrayInputStream(model.getBytes()));
GroupItem groupItem = (GroupItem) itemRegistry.get("testGroup");
assertNotNull(groupItem);
int number = 0;
Iterator<Item> it = groupItem.getMembers().iterator();
while (it.hasNext()) {
Item item = it.next();
assertEquals("number" + (++number), item.getName());
}
}
use of org.eclipse.smarthome.core.items.Item in project smarthome by eclipse.
the class GenericItemProvider method getItemsFromModel.
private Collection<Item> getItemsFromModel(String modelName) {
logger.debug("Read items from model '{}'", modelName);
List<Item> items = new ArrayList<Item>();
if (modelRepository != null) {
ItemModel model = (ItemModel) modelRepository.getModel(modelName);
if (model != null) {
for (ModelItem modelItem : model.getItems()) {
Item item = createItemFromModelItem(modelItem);
if (item != null) {
for (String groupName : modelItem.getGroups()) {
((GenericItem) item).addGroupName(groupName);
}
items.add(item);
}
}
}
}
return items;
}
use of org.eclipse.smarthome.core.items.Item in project smarthome by eclipse.
the class ScriptEngineOSGiTest method testEqualsWithItemState.
@SuppressWarnings("null")
@Test
public void testEqualsWithItemState() throws ScriptExecutionException, ScriptParsingException {
Item numberItem = itemRegistry.get(NUMBER_ITEM_TEMPERATURE);
((NumberItem) numberItem).setState(new QuantityType<>("20 °C"));
assertTrue(runScript("NumberA.state == 20 [°C]"));
}
use of org.eclipse.smarthome.core.items.Item in project smarthome by eclipse.
the class ScriptEngineOSGiTest method testGreaterThanWithItemState.
@SuppressWarnings("null")
@Test
public void testGreaterThanWithItemState() throws ScriptExecutionException, ScriptParsingException {
Item numberItem = itemRegistry.get(NUMBER_ITEM_TEMPERATURE);
((NumberItem) numberItem).setState(new QuantityType<>("20 °C"));
assertTrue(runScript("NumberA.state > 20 [°F]"));
}
use of org.eclipse.smarthome.core.items.Item in project smarthome by eclipse.
the class ScriptEngineOSGiTest method testGreaterThan_Number_Number.
@Test
public void testGreaterThan_Number_Number() throws ScriptParsingException, ScriptExecutionException {
Item numberItem = itemRegistry.get(NUMBER_ITEM_DECIMAL);
((NumberItem) numberItem).setState(new DecimalType(20));
assertTrue(runScript("NumberB.state > new DecimalType(19)"));
}
Aggregations