package org.openhab.habdroid.model;
import org.json.JSONObject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.junit.Assert.*;
@RunWith(MockitoJUnitRunner.class)
public class OpenHABItemTest {
@Mock
JSONObject mockJSONObject;
@Test
public void getStateAsBoolean_stateOff_returnFalse() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("OFF");
assertFalse(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_stateON_returnTrue() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("ON");
assertTrue(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_stateNull_returnFalse() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState(null);
assertFalse(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_stateNegativeInteger_returnFalse() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("-42");
assertFalse(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_statePositiveInteger_returnTrue() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("42");
assertTrue(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_stateIsZero_returnFalse() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("0");
assertFalse(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_stateHSBBrightnessZero_returnFalse() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("10,10,0");
assertFalse(sut.getStateAsBoolean());
}
@Test
public void getStateAsBoolean_stateHSBBrightnessPositive_returnTrue() throws Exception {
OpenHABItem sut = new OpenHABItem(mockJSONObject);
sut.setState("10,10,50");
assertTrue(sut.getStateAsBoolean());
}
}