Convert some Java tests to Kotlin.

Resolves #13792
This commit is contained in:
Jameson Williams
2024-11-16 00:09:34 -06:00
committed by Greyson Parrelli
parent 9e49dd1270
commit cee44fcc93
17 changed files with 479 additions and 532 deletions

View File

@@ -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;
}
}

View File

@@ -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))
}
}

View File

@@ -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));
}
}

View 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])
}
}

View File

@@ -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);
}
}

View File

@@ -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)
}
}