package com.badoo.chateau.example.ui.conversations.list; import com.badoo.chateau.example.data.model.ExampleConversation; import com.badoo.chateau.example.data.model.ExampleMessage; import com.badoo.chateau.ui.conversations.list.ConversationByLastMessageComparator; import org.junit.Before; import org.junit.Test; import java.util.Collections; import static org.junit.Assert.assertEquals; public class ConversationByLastMessageComparatorTest { private ConversationByLastMessageComparator mComparator; @Before public void setupComparator() { mComparator = new ConversationByLastMessageComparator(); } @Test public void compareSameTimestamp() { int result = mComparator.compare(createConversation(0), createConversation(0)); assertEquals(0, result); } @Test public void compareNewer() { int result = mComparator.compare(createConversation(0), createConversation(10)); assertEquals(1, result); } @Test public void compareOlder() { int result = mComparator.compare(createConversation(10), createConversation(0)); assertEquals(-1, result); } @Test public void compareNullLhs() { int result = mComparator.compare(createEmptyConversation(), createConversation(10)); assertEquals(1, result); } @Test public void compareNullRhs() { int result = mComparator.compare(createConversation(10), createEmptyConversation()); assertEquals(-1, result); } private ExampleConversation createEmptyConversation() { return new ExampleConversation("id", "", Collections.emptyList(), null, 0); } private ExampleConversation createConversation(long lastMessageTimestamp) { ExampleMessage lastMessage = ExampleMessage.createTimestamp(lastMessageTimestamp); return new ExampleConversation("id" + lastMessageTimestamp, "", Collections.emptyList(), lastMessage, 0); } }