🔀 Merge branch 'release/v82'
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / data / PostTest.kt
1 package net.pterodactylus.sone.data
2
3 import net.pterodactylus.sone.test.createPost
4 import org.hamcrest.MatcherAssert.assertThat
5 import org.hamcrest.Matchers.equalTo
6 import org.hamcrest.Matchers.greaterThan
7 import org.hamcrest.Matchers.lessThan
8 import java.util.concurrent.TimeUnit.DAYS
9 import kotlin.test.Test
10
11 /**
12  * Unit test for the utilities in `Post.kt`.
13  */
14 class PostTest {
15
16         @Test
17         fun `noFuturePost filter recognizes post from future`() {
18                 val post = createPost(time = System.currentTimeMillis() + DAYS.toMillis(1))
19                 assertThat(noFuturePost(post), equalTo(false))
20         }
21
22         @Test
23         fun `noFuturePost filter recognizes post not from future`() {
24                 val post = createPost(time = System.currentTimeMillis())
25                 assertThat(noFuturePost(post), equalTo(true))
26         }
27
28         @Test
29         fun `newestFirst comparator returns less-than 0 if first is newer than second`() {
30                 val newerPost = createPost(time = 2000)
31                 val olderPost = createPost(time = 1000)
32                 assertThat(newestPostFirst.compare(newerPost, olderPost), lessThan(0))
33         }
34
35         @Test
36         fun `newestFirst comparator returns greater-than 0 if first is older than second`() {
37                 val newerPost = createPost(time = 2000)
38                 val olderPost = createPost(time = 1000)
39                 assertThat(newestPostFirst.compare(olderPost, newerPost), greaterThan(0))
40         }
41
42         @Test
43         fun `newestFirst comparator returns 0 if first and second are the same age`() {
44                 val post1 = createPost(time = 1000)
45                 val post2 = createPost(time = 1000)
46                 assertThat(newestPostFirst.compare(post2, post1), equalTo(0))
47         }
48
49 }