use of org.eclipse.smarthome.core.types.State in project smarthome by eclipse.
the class GroupItemTest method assertThatGroupItemChangesRespectGroupFunctionAND.
@Test
public void assertThatGroupItemChangesRespectGroupFunctionAND() {
events.clear();
GroupItem groupItem = new GroupItem("root", new SwitchItem("mySwitch"), new ArithmeticGroupFunction.And(OnOffType.ON, OnOffType.OFF));
groupItem.setItemStateConverter(itemStateConverter);
SwitchItem sw1 = new SwitchItem("switch1");
SwitchItem sw2 = new SwitchItem("switch2");
groupItem.addMember(sw1);
groupItem.addMember(sw2);
groupItem.setEventPublisher(publisher);
// State changes -> one change event is fired
sw1.setState(OnOffType.ON);
waitForAssert(() -> assertThat(events.size(), is(1)));
List<Event> changes = events.stream().filter(it -> it instanceof GroupItemStateChangedEvent).collect(Collectors.toList());
assertThat(changes.size(), is(1));
GroupItemStateChangedEvent change = (GroupItemStateChangedEvent) changes.get(0);
assertTrue(change.getItemName().equals(groupItem.getName()));
// we expect that the group should now have status "OFF"
assertTrue(change.getOldItemState().equals(UnDefType.NULL));
assertTrue(change.getItemState().equals(OnOffType.OFF));
events.clear();
// State changes -> one change event is fired
sw2.setState(OnOffType.ON);
waitForAssert(() -> assertThat(events.size(), is(1)));
changes = events.stream().filter(it -> it instanceof GroupItemStateChangedEvent).collect(Collectors.toList());
assertThat(changes.size(), is(1));
change = (GroupItemStateChangedEvent) changes.get(0);
assertTrue(change.getItemName().equals(groupItem.getName()));
// we expect that the group should now have status "ON"
assertTrue(change.getOldItemState().equals(OnOffType.OFF));
assertTrue(change.getItemState().equals(OnOffType.ON));
assertTrue(groupItem.getState().equals(OnOffType.ON));
}
use of org.eclipse.smarthome.core.types.State in project smarthome by eclipse.
the class ImageItemTest method testRawType.
@Test
public void testRawType() {
ImageItem item = new ImageItem("test");
State state = new RawType(new byte[0], "application/octet-stream");
item.setState(state);
assertEquals(state, item.getState());
}
use of org.eclipse.smarthome.core.types.State in project smarthome by eclipse.
the class NumberItemTest method setDecimalType.
@Test
public void setDecimalType() {
NumberItem item = new NumberItem("test");
State decimal = new DecimalType("23");
item.setState(decimal);
assertEquals(decimal, item.getState());
}
use of org.eclipse.smarthome.core.types.State in project smarthome by eclipse.
the class RollershutterItemTest method setState_stateUp_returnPercent0.
@Test
public void setState_stateUp_returnPercent0() {
RollershutterItem sut = new RollershutterItem("Test");
State state = UpDownType.UP;
sut.setState(state);
assertEquals(PercentType.ZERO, sut.getState());
}
use of org.eclipse.smarthome.core.types.State in project smarthome by eclipse.
the class StateUtil method getAllStates.
public static List<State> getAllStates() {
LinkedList<State> states = new LinkedList<>();
DateTimeType dateTime = new DateTimeType();
states.add(dateTime);
DecimalType decimal = new DecimalType(23);
states.add(decimal);
PercentType percent = new PercentType(50);
states.add(percent);
HSBType hsb = new HSBType("50,75,42");
states.add(hsb);
states.add(OnOffType.ON);
states.add(OnOffType.OFF);
states.add(OpenClosedType.OPEN);
states.add(OpenClosedType.CLOSED);
states.add(PlayPauseType.PLAY);
states.add(PlayPauseType.PAUSE);
PointType point = new PointType("42.23,23.5");
states.add(point);
RawType raw = new RawType(new byte[0], "application/octet-stream");
states.add(raw);
states.add(RewindFastforwardType.REWIND);
states.add(RewindFastforwardType.FASTFORWARD);
StringListType stringList = new StringListType(new String[] { "foo", "bar" });
states.add(stringList);
StringType string = new StringType("foo");
states.add(string);
states.add(UnDefType.NULL);
states.add(UnDefType.UNDEF);
states.add(UpDownType.UP);
states.add(UpDownType.DOWN);
QuantityType<Temperature> quantityType = new QuantityType<Temperature>("12 °C");
states.add(quantityType);
return states;
}
Aggregations