package me.moodcat.backend.rooms; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import me.moodcat.api.models.ChatMessageModel; import junitx.extensions.EqualsHashCodeTestCase; @RunWith(Enclosed.class) public class ChatMessageInstanceTest { public static class ChatMessageInstanceEqualsTest extends EqualsHashCodeTestCase { public ChatMessageInstanceEqualsTest(String name) { super(name); } @Override protected Object createInstance() throws Exception { ChatMessageModel model = new ChatMessageModel(); model.setAuthor("user1"); model.setId(1); model.setMessage("hi"); model.setTimestamp(System.currentTimeMillis()); return new ChatMessageInstance(1, model); } @Override protected Object createNotEqualInstance() throws Exception { ChatMessageModel model = new ChatMessageModel(); model.setAuthor("user1"); model.setId(1); model.setMessage("hi too!"); model.setTimestamp(System.currentTimeMillis()); return new ChatMessageInstance(1, model); } } public static class ChatMessageInstanceCompareTest { @Test public void compareChatMessageInstanceChecksModels() { ChatMessageModel model1 = mock(ChatMessageModel.class); ChatMessageModel model2 = mock(ChatMessageModel.class); when(model1.compareTo(model2)).thenReturn(0); ChatMessageInstance instance = new ChatMessageInstance(1, model1); ChatMessageInstance otherInstance = new ChatMessageInstance(1, model2); assertEquals(0, instance.compareTo(otherInstance)); } } }