mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 12:38:33 +00:00
committed by
Greyson Parrelli
parent
9e49dd1270
commit
cee44fcc93
@@ -1,104 +0,0 @@
|
||||
package org.signal.core.util;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public final class BreakIteratorCompatTest {
|
||||
|
||||
@Test
|
||||
public void empty() {
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText("");
|
||||
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void single() {
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText("a");
|
||||
|
||||
assertEquals(1, breakIterator.next());
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void count_empty() {
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText("");
|
||||
|
||||
assertEquals(0, breakIterator.countBreaks());
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void count_simple_text() {
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText("abc");
|
||||
|
||||
assertEquals(3, breakIterator.countBreaks());
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void two_counts() {
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText("abc");
|
||||
|
||||
assertEquals(3, breakIterator.countBreaks());
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
assertEquals(3, breakIterator.countBreaks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void count_multi_character_graphemes() {
|
||||
String hindi = "समाजो गयेग";
|
||||
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText(hindi);
|
||||
|
||||
assertEquals(7, breakIterator.countBreaks());
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void iterate_multi_character_graphemes() {
|
||||
String hindi = "समाजो गयेग";
|
||||
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText(hindi);
|
||||
|
||||
assertEquals(asList("स", "मा", "जो", " ", "ग", "ये", "ग"), toList(breakIterator));
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void split_multi_character_graphemes() {
|
||||
String hindi = "समाजो गयेग";
|
||||
|
||||
BreakIteratorCompat breakIterator = BreakIteratorCompat.getInstance();
|
||||
breakIterator.setText(hindi);
|
||||
|
||||
assertEquals("समाजो गयेग", breakIterator.take(8));
|
||||
assertEquals("समाजो गयेग", breakIterator.take(7));
|
||||
assertEquals("समाजो गये", breakIterator.take(6));
|
||||
assertEquals("समाजो ग", breakIterator.take(5));
|
||||
assertEquals("समाजो ", breakIterator.take(4));
|
||||
assertEquals("समाजो", breakIterator.take(3));
|
||||
assertEquals("समा", breakIterator.take(2));
|
||||
assertEquals("स", breakIterator.take(1));
|
||||
assertEquals("", breakIterator.take(0));
|
||||
assertEquals("", breakIterator.take(-1));
|
||||
}
|
||||
|
||||
private List<CharSequence> toList(BreakIteratorCompat breakIterator) {
|
||||
List<CharSequence> list = new ArrayList<>();
|
||||
breakIterator.forEach(list::add);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
package org.signal.core.util
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
class BreakIteratorCompatTest {
|
||||
@Test
|
||||
fun empty() {
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText("")
|
||||
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun single() {
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText("a")
|
||||
|
||||
assertEquals(1, breakIterator.next())
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun count_empty() {
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText("")
|
||||
|
||||
assertEquals(0, breakIterator.countBreaks())
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun count_simple_text() {
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText("abc")
|
||||
|
||||
assertEquals(3, breakIterator.countBreaks())
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun two_counts() {
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText("abc")
|
||||
|
||||
assertEquals(3, breakIterator.countBreaks())
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
assertEquals(3, breakIterator.countBreaks())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun count_multi_character_graphemes() {
|
||||
val hindi = "समाजो गयेग"
|
||||
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText(hindi)
|
||||
|
||||
assertEquals(7, breakIterator.countBreaks())
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun iterate_multi_character_graphemes() {
|
||||
val hindi = "समाजो गयेग"
|
||||
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText(hindi)
|
||||
|
||||
assertEquals(listOf("स", "मा", "जो", " ", "ग", "ये", "ग"), breakIterator.toList())
|
||||
assertEquals(BreakIteratorCompat.DONE, breakIterator.next())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun split_multi_character_graphemes() {
|
||||
val hindi = "समाजो गयेग"
|
||||
|
||||
val breakIterator = BreakIteratorCompat.getInstance()
|
||||
breakIterator.setText(hindi)
|
||||
|
||||
assertEquals("समाजो गयेग", breakIterator.take(8))
|
||||
assertEquals("समाजो गयेग", breakIterator.take(7))
|
||||
assertEquals("समाजो गये", breakIterator.take(6))
|
||||
assertEquals("समाजो ग", breakIterator.take(5))
|
||||
assertEquals("समाजो ", breakIterator.take(4))
|
||||
assertEquals("समाजो", breakIterator.take(3))
|
||||
assertEquals("समा", breakIterator.take(2))
|
||||
assertEquals("स", breakIterator.take(1))
|
||||
assertEquals("", breakIterator.take(0))
|
||||
assertEquals("", breakIterator.take(-1))
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
package org.signal.core.util;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class ListUtilTest {
|
||||
|
||||
@Test
|
||||
public void chunk_oneChunk() {
|
||||
List<String> input = Arrays.asList("A", "B", "C");
|
||||
|
||||
List<List<String>> output = ListUtil.chunk(input, 3);
|
||||
assertEquals(1, output.size());
|
||||
assertEquals(input, output.get(0));
|
||||
|
||||
output = ListUtil.chunk(input, 4);
|
||||
assertEquals(1, output.size());
|
||||
assertEquals(input, output.get(0));
|
||||
|
||||
output = ListUtil.chunk(input, 100);
|
||||
assertEquals(1, output.size());
|
||||
assertEquals(input, output.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void chunk_multipleChunks() {
|
||||
List<String> input = Arrays.asList("A", "B", "C", "D", "E");
|
||||
|
||||
List<List<String>> output = ListUtil.chunk(input, 4);
|
||||
assertEquals(2, output.size());
|
||||
assertEquals(Arrays.asList("A", "B", "C", "D"), output.get(0));
|
||||
assertEquals(Arrays.asList("E"), output.get(1));
|
||||
|
||||
output = ListUtil.chunk(input, 2);
|
||||
assertEquals(3, output.size());
|
||||
assertEquals(Arrays.asList("A", "B"), output.get(0));
|
||||
assertEquals(Arrays.asList("C", "D"), output.get(1));
|
||||
assertEquals(Arrays.asList("E"), output.get(2));
|
||||
|
||||
output = ListUtil.chunk(input, 1);
|
||||
assertEquals(5, output.size());
|
||||
assertEquals(Arrays.asList("A"), output.get(0));
|
||||
assertEquals(Arrays.asList("B"), output.get(1));
|
||||
assertEquals(Arrays.asList("C"), output.get(2));
|
||||
assertEquals(Arrays.asList("D"), output.get(3));
|
||||
assertEquals(Arrays.asList("E"), output.get(4));
|
||||
}
|
||||
}
|
||||
47
core-util/src/test/java/org/signal/core/util/ListUtilTest.kt
Normal file
47
core-util/src/test/java/org/signal/core/util/ListUtilTest.kt
Normal file
@@ -0,0 +1,47 @@
|
||||
package org.signal.core.util
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
class ListUtilTest {
|
||||
@Test
|
||||
fun chunk_oneChunk() {
|
||||
val input = listOf("A", "B", "C")
|
||||
|
||||
var output = ListUtil.chunk(input, 3)
|
||||
assertEquals(1, output.size)
|
||||
assertEquals(input, output[0])
|
||||
|
||||
output = ListUtil.chunk(input, 4)
|
||||
assertEquals(1, output.size)
|
||||
assertEquals(input, output[0])
|
||||
|
||||
output = ListUtil.chunk(input, 100)
|
||||
assertEquals(1, output.size)
|
||||
assertEquals(input, output[0])
|
||||
}
|
||||
|
||||
@Test
|
||||
fun chunk_multipleChunks() {
|
||||
val input: List<String> = listOf("A", "B", "C", "D", "E")
|
||||
|
||||
var output = ListUtil.chunk(input, 4)
|
||||
assertEquals(2, output.size)
|
||||
assertEquals(listOf("A", "B", "C", "D"), output[0])
|
||||
assertEquals(listOf("E"), output[1])
|
||||
|
||||
output = ListUtil.chunk(input, 2)
|
||||
assertEquals(3, output.size)
|
||||
assertEquals(listOf("A", "B"), output[0])
|
||||
assertEquals(listOf("C", "D"), output[1])
|
||||
assertEquals(listOf("E"), output[2])
|
||||
|
||||
output = ListUtil.chunk(input, 1)
|
||||
assertEquals(5, output.size)
|
||||
assertEquals(listOf("A"), output[0])
|
||||
assertEquals(listOf("B"), output[1])
|
||||
assertEquals(listOf("C"), output[2])
|
||||
assertEquals(listOf("D"), output[3])
|
||||
assertEquals(listOf("E"), output[4])
|
||||
}
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
package org.signal.core.util.money;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Currency;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class FiatMoneyTest {
|
||||
|
||||
@Test
|
||||
public void given100USD_whenIGetDefaultPrecisionString_thenIExpect100dot00() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("USD"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getDefaultPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("100.00", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100USD_whenIGetMinimumUnitPrecisionString_thenIExpect10000() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("USD"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getMinimumUnitPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("10000", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100JPY_whenIGetDefaultPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("JPY"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getDefaultPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100JPY_whenIGetMinimumUnitPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("JPY"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getMinimumUnitPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100UGX_whenIGetDefaultPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("UGX"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getDefaultPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100UGX_whenIGetMinimumUnitPrecisionString_thenIExpect10000() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("UGX"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getMinimumUnitPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("10000", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100ISK_whenIGetDefaultPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("ISK"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getDefaultPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void given100ISK_whenIGetMinimumUnitPrecisionString_thenIExpect10000() {
|
||||
// GIVEN
|
||||
FiatMoney fiatMoney = new FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("ISK"));
|
||||
|
||||
// WHEN
|
||||
String result = fiatMoney.getMinimumUnitPrecisionString();
|
||||
|
||||
// THEN
|
||||
assertEquals("10000", result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package org.signal.core.util.money
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import java.math.BigDecimal
|
||||
import java.util.Currency
|
||||
|
||||
class FiatMoneyTest {
|
||||
@Test
|
||||
fun given100USD_whenIGetDefaultPrecisionString_thenIExpect100dot00() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("USD"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.defaultPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("100.00", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100USD_whenIGetMinimumUnitPrecisionString_thenIExpect10000() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("USD"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.minimumUnitPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("10000", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100JPY_whenIGetDefaultPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("JPY"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.defaultPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100JPY_whenIGetMinimumUnitPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("JPY"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.minimumUnitPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100UGX_whenIGetDefaultPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("UGX"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.defaultPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100UGX_whenIGetMinimumUnitPrecisionString_thenIExpect10000() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("UGX"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.minimumUnitPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("10000", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100ISK_whenIGetDefaultPrecisionString_thenIExpect100() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("ISK"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.defaultPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("100", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun given100ISK_whenIGetMinimumUnitPrecisionString_thenIExpect10000() {
|
||||
// GIVEN
|
||||
val fiatMoney = FiatMoney(BigDecimal.valueOf(100), Currency.getInstance("ISK"))
|
||||
|
||||
// WHEN
|
||||
val result = fiatMoney.minimumUnitPrecisionString
|
||||
|
||||
// THEN
|
||||
assertEquals("10000", result)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user