Add test for reply sorter
[Sone.git] / src / test / java / net / pterodactylus / sone / data / ReplyTest.java
1 package net.pterodactylus.sone.data;
2
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.mockito.Mockito.mock;
5 import static org.mockito.Mockito.when;
6
7 import java.util.ArrayList;
8 import java.util.Arrays;
9 import java.util.Collections;
10 import java.util.List;
11
12 import org.hamcrest.Matchers;
13 import org.junit.Test;
14
15 /**
16  * Unit test for the static elements in {@link Reply}.
17  *
18  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
19  */
20 public class ReplyTest {
21
22         @Test
23         public void comparatorSortsRepliesCorrectly() {
24                 Reply<?> reply1 = mock(Reply.class);
25                 when(reply1.getTime()).thenReturn(3000L);
26                 Reply<?> reply2 = mock(Reply.class);
27                 when(reply2.getTime()).thenReturn(2000L);
28                 Reply<?> reply3 = mock(Reply.class);
29                 when(reply3.getTime()).thenReturn(1000L);
30                 List<Reply<?>> replies = new ArrayList<Reply<?>>(Arrays.<Reply<?>>asList(reply1, reply2, reply3));
31                 Collections.sort(replies, Reply.TIME_COMPARATOR);
32                 assertThat(replies, Matchers.<Reply<?>>contains(reply3, reply2, reply1));
33         }
34
35 }