mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-30 07:59:37 +00:00
Optimize uploads during media composition.
By uploading in advance (when on unmetered connections), media messages can send almost instantly.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
package org.thoughtcrime.securesms.util;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class DiffHelperTest {
|
||||
|
||||
private static final Object A = new Object();
|
||||
private static final Object B = new Object();
|
||||
private static final Object C = new Object();
|
||||
private static final Object D = new Object();
|
||||
|
||||
@Test
|
||||
public void calculate_allRemoved() {
|
||||
DiffHelper.Result result = DiffHelper.calculate(Arrays.asList(A, B), Collections.emptyList());
|
||||
|
||||
assertContentsEqual(Collections.emptyList(), result.getInserted());
|
||||
assertContentsEqual(Arrays.asList(A, B), result.getRemoved());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void calculate_allInserted() {
|
||||
DiffHelper.Result result = DiffHelper.calculate(Collections.emptyList(), Arrays.asList(A, B));
|
||||
|
||||
assertContentsEqual(Arrays.asList(A, B), result.getInserted());
|
||||
assertContentsEqual(Collections.emptyList(), result.getRemoved());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void calculate_completeSwap() {
|
||||
DiffHelper.Result result = DiffHelper.calculate(Collections.singleton(A), Collections.singleton(B));
|
||||
|
||||
assertContentsEqual(Collections.singleton(B), result.getInserted());
|
||||
assertContentsEqual(Collections.singleton(A), result.getRemoved());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void calculate_bothEmpty() {
|
||||
DiffHelper.Result result = DiffHelper.calculate(Collections.emptyList(), Collections.emptyList());
|
||||
|
||||
assertContentsEqual(Collections.emptyList(), result.getInserted());
|
||||
assertContentsEqual(Collections.emptyList(), result.getRemoved());
|
||||
}
|
||||
|
||||
private void assertContentsEqual(@NonNull Collection expected, @NonNull Collection actual) {
|
||||
assertEquals(expected.size(), actual.size());
|
||||
assertTrue(expected.containsAll(actual));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user