Skip to content
This repository has been archived by the owner on May 7, 2020. It is now read-only.

Commit

Permalink
fix prediction event payload bean type
Browse files Browse the repository at this point in the history
Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com>
  • Loading branch information
Simon Kaufmann committed Aug 17, 2018
1 parent 46be54e commit 4546743
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.eclipse.smarthome.core.items.events.ItemCommandEvent;
import org.eclipse.smarthome.core.items.events.ItemEventFactory;
import org.eclipse.smarthome.core.items.events.ItemStateEvent;
import org.eclipse.smarthome.core.items.events.ItemStatePredictedEvent;
import org.eclipse.smarthome.core.library.CoreItemFactory;
import org.eclipse.smarthome.core.library.items.SwitchItem;
import org.eclipse.smarthome.core.library.types.OnOffType;
Expand Down Expand Up @@ -49,11 +50,13 @@ public class ItemEventFactoryTest {

private static final String ITEM_COMMAND_EVENT_TYPE = ItemCommandEvent.TYPE;
private static final String ITEM_STATE_EVENT_TYPE = ItemStateEvent.TYPE;
private static final String ITEM_STATE_PREDICTED_EVENT_TYPE = ItemStatePredictedEvent.TYPE;
private static final String ITEM_ADDED_EVENT_TYPE = ItemAddedEvent.TYPE;
private static final String GROUPITEM_CHANGED_EVENT_TYPE = GroupItemStateChangedEvent.TYPE;

private static final String ITEM_COMMAND_EVENT_TOPIC = "smarthome/items/" + ITEM_NAME + "/command";
private static final String ITEM_STATE_EVENT_TOPIC = "smarthome/items/" + ITEM_NAME + "/state";
private static final String ITEM_STATE_PREDICTED_EVENT_TOPIC = "smarthome/items/" + ITEM_NAME + "/statepredicted";
private static final String ITEM_ADDED_EVENT_TOPIC = "smarthome/items/" + ITEM_NAME + "/added";
private static final String GROUPITEM_STATE_CHANGED_EVENT_TOPIC = "smarthome/items/" + GROUP_NAME + "/" + ITEM_NAME
+ "/statechanged";
Expand All @@ -65,6 +68,7 @@ public class ItemEventFactoryTest {
private static final State ITEM_STATE = OnOffType.OFF;
private static final State NEW_ITEM_STATE = OnOffType.ON;
private static final String ITEM_STATE_EVENT_PAYLOAD = "{\"type\":\"OnOff\",\"value\":\"OFF\"}";
private static final String ITEM_STATE_PREDICTED_EVENT_PAYLOAD = "{\"predictedType\":\"OnOff\",\"predictedValue\":\"OFF\",\"isConfirmation\":\"false\"}";
private static final String ITEM_ADDED_EVENT_PAYLOAD = new Gson().toJson(ItemDTOMapper.map(ITEM));
private static final String ITEM_STATE_CHANGED_EVENT_PAYLOAD = "{\"type\":\"OnOff\", \"value\": \"ON\", \"oldType\":\"OnOff\", \"oldValue\": \"OFF\"}";

Expand Down Expand Up @@ -166,6 +170,21 @@ public void testCreateEvent_ItemStateEvent_OnOffType() throws Exception {
assertEquals(ITEM_STATE, itemStateEvent.getItemState());
}

@Test
public void testCreateEvent_ItemStatePredictedEvent_OnOffType() throws Exception {
Event event = factory.createEvent(ITEM_STATE_PREDICTED_EVENT_TYPE, ITEM_STATE_PREDICTED_EVENT_TOPIC,
ITEM_STATE_PREDICTED_EVENT_PAYLOAD, SOURCE);

assertEquals(ItemStatePredictedEvent.class, event.getClass());
ItemStatePredictedEvent itemStatePredictedEvent = (ItemStatePredictedEvent) event;
assertEquals(ITEM_STATE_PREDICTED_EVENT_TYPE, itemStatePredictedEvent.getType());
assertEquals(ITEM_STATE_PREDICTED_EVENT_TOPIC, itemStatePredictedEvent.getTopic());
assertEquals(ITEM_STATE_PREDICTED_EVENT_PAYLOAD, itemStatePredictedEvent.getPayload());
assertEquals(ITEM_NAME, itemStatePredictedEvent.getItemName());
assertEquals(OnOffType.class, itemStatePredictedEvent.getPredictedState().getClass());
assertEquals(ITEM_STATE, itemStatePredictedEvent.getPredictedState());
}

@Test
public void testCreateStateEvent_OnOffType() {
ItemStateEvent event = ItemEventFactory.createStateEvent(ITEM_NAME, ITEM_STATE, SOURCE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,8 @@ public static ItemStatePredictedEvent createStatePredictedEvent(String itemName,
boolean isConfirmation) {
assertValidArguments(itemName, state, "state");
String topic = buildTopic(ITEM_STATE_PREDICTED_EVENT_TOPIC, itemName);
ItemEventPayloadBean bean = new ItemEventPayloadBean(getStateType(state), state.toFullString());
ItemStatePredictedEventPayloadBean bean = new ItemStatePredictedEventPayloadBean(getStateType(state),
state.toFullString(), isConfirmation);
String payload = serializePayload(bean);
return new ItemStatePredictedEvent(topic, payload, itemName, state, isConfirmation);
}
Expand Down

0 comments on commit 4546743

Please sign in to comment.