1 package net.pterodactylus.sone.data
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
12 * Unit test for the utilities in `Post.kt`.
17 fun `noFuturePost filter recognizes post from future`() {
18 val post = createPost(time = System.currentTimeMillis() + DAYS.toMillis(1))
19 assertThat(noFuturePost(post), equalTo(false))
23 fun `noFuturePost filter recognizes post not from future`() {
24 val post = createPost(time = System.currentTimeMillis())
25 assertThat(noFuturePost(post), equalTo(true))
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))
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))
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))