package com.kuxhausen.huemore;
import android.support.test.runner.AndroidJUnit4;
import com.kuxhausen.huemore.state.BulbState;
import com.kuxhausen.huemore.state.Event;
import org.junit.Test;
import org.junit.runner.RunWith;
import static junit.framework.TestCase.assertFalse;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@RunWith(AndroidJUnit4.class)
public class EventTest {
@Test
public void testConstructor() {
try {
Event e1 = new Event(null, 0, 0l);
fail();
} catch (IllegalArgumentException e) {
}
Event e2 = new Event(new BulbState(), 0, 0l);
assertEquals(new BulbState(), e2.getBulbState());
assertEquals(0, e2.getChannel());
assertEquals(0l, e2.getMilliTime());
assertEquals(0l, e2.getLegacyTime());
BulbState state3 = new BulbState();
state3.setOn(true);
Event e3 = new Event(state3, 25, 300l);
assertEquals(state3, e3.getBulbState());
assertEquals(25, e3.getChannel());
assertEquals(300l, e3.getMilliTime());
assertEquals(3l, e3.getLegacyTime());
}
@Test
public void testEquals() {
BulbState bs1 = new BulbState();
bs1.setOn(true);
BulbState bs2 = new BulbState();
bs2.setOn(true);
Event e1 = new Event(bs1, 0, 0);
Event e2 = new Event(bs1, 1, 0);
Event e3 = new Event(bs1, 0, 100l);
Event e4 = new Event(bs2, 0, 0);
assertEquals(e1, e1);
assertFalse(e1.equals(e2));
assertFalse(e1.equals(e3));
assertEquals(e1, e4);
Event e5 = new Event(bs1, 2, 5000l);
Event e6 = new Event(bs1, 2, 5000l);
assertFalse(e5.equals(e1));
assertFalse(e5.equals(e2));
assertFalse(e5.equals(e3));
assertEquals(e5, e6);
}
}