package com.openxc.messages; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import android.os.Parcel; @RunWith(RobolectricTestRunner.class) public class EventedSimpleVehicleMessageTest { EventedSimpleVehicleMessage message; Double value = Double.valueOf(42); Double event = Double.valueOf(21); String name = "foo"; @Before public void setup() { message = new EventedSimpleVehicleMessage(name, value, event); } @Test public void sameEquals() { assertEquals(message, message); } @Test public void sameEventEquals() { EventedSimpleVehicleMessage anotherMessage = new EventedSimpleVehicleMessage( message.getTimestamp(), name, value, event); assertEquals(message, anotherMessage); } @Test public void differentEventDoesntEqual() { NamedVehicleMessage anotherMessage = new EventedSimpleVehicleMessage( name, Double.valueOf(24), Double.valueOf(444.1)); assertFalse(message.equals(anotherMessage)); } @Test public void toStringNotNull() { assertThat(message.toString(), notNullValue()); } @Test public void eventAsNumber() { assertEquals(message.getEventAsNumber(), event); } @Test public void eventAsString() { message = new EventedSimpleVehicleMessage(name, value, "foo"); assertEquals(message.getEventAsString(), "foo"); } @Test public void eventAsBoolean() { message = new EventedSimpleVehicleMessage(name, value, Boolean.valueOf(true)); assertEquals(message.getEventAsBoolean(), true); } @Test public void writeAndReadFromParcel() { Parcel parcel = Parcel.obtain(); message.writeToParcel(parcel, 0); // Reset parcel for reading parcel.setDataPosition(0); VehicleMessage createdFromParcel = VehicleMessage.CREATOR.createFromParcel(parcel); assertThat(createdFromParcel, instanceOf(EventedSimpleVehicleMessage.class)); assertEquals(message, createdFromParcel); } @Test public void keyNotNull() { assertThat(message.getKey(), notNullValue()); } }