package ru.testing.client; import org.junit.Before; import org.junit.Test; import ru.testing.client.common.objects.ReceivedMessage; import ru.testing.client.websocket.ReceivedMessageType; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; /** * Tests output message methods */ public class ReceivedMessageTest { private static final int EXPECTED_TIME_SYMBOLS_COUNT = 13; private static final int EXPECTED_FORMATTED_TIME_SYMBOLS_COUNT = 12; private ReceivedMessage receivedMessage; private String message; @Before public void testsSetup() { message = "test message"; receivedMessage = new ReceivedMessage(ReceivedMessageType.SEND, message); } @Test public void testGetMessage() { assertThat("Get saved message", receivedMessage.getMessage(), equalTo(message)); } @Test public void testMessageType() { assertThat("Message type is send", receivedMessage.getMessageType(), equalTo(ReceivedMessageType.SEND)); } @Test public void testMessageTime() { assertThat("Message time in ms class type", receivedMessage.getMilliseconds(), instanceOf(Long.TYPE)); assertThat("Message time in ms", String.valueOf(receivedMessage.getMilliseconds()).length(), equalTo(EXPECTED_TIME_SYMBOLS_COUNT)); } @Test public void testMessageFormattedTime() { assertThat("Message formatted time class type", receivedMessage.getFormattedTime(), instanceOf(String.class)); assertThat("Message formatted time length", receivedMessage.getFormattedTime().length(), greaterThanOrEqualTo(EXPECTED_FORMATTED_TIME_SYMBOLS_COUNT)); } }