mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
parse( Int/Long/Float/Double/Number ) Test Case
This commit is contained in:
parent
88e99a3972
commit
7ce0ddf343
@ -10,6 +10,12 @@ import java.math.BigInteger;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.hutool.core.util.NumberUtil.parseDouble;
|
||||
import static cn.hutool.core.util.NumberUtil.parseFloat;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
|
||||
/**
|
||||
* {@link NumberUtil} 单元测试类
|
||||
*
|
||||
@ -296,6 +302,23 @@ public class NumberUtilTest {
|
||||
Assert.assertEquals(0, v1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseIntTest4() {
|
||||
|
||||
// -------------------------- Parse failed -----------------------
|
||||
|
||||
assertThat(NumberUtil.parseInt("abc", null), nullValue());
|
||||
|
||||
assertThat(NumberUtil.parseInt("abc", 456), equalTo(456));
|
||||
|
||||
// -------------------------- Parse success -----------------------
|
||||
|
||||
assertThat(NumberUtil.parseInt("123.abc", 789), equalTo(123));
|
||||
|
||||
assertThat(NumberUtil.parseInt("123.3", null), equalTo(123));
|
||||
|
||||
}
|
||||
|
||||
@Test(expected = NumberFormatException.class)
|
||||
public void parseNumberTest4(){
|
||||
// issue#I5M55F
|
||||
@ -324,6 +347,29 @@ public class NumberUtilTest {
|
||||
Assert.assertTrue(number instanceof BigDecimal);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseNumberTest3(){
|
||||
|
||||
// -------------------------- Parse failed -----------------------
|
||||
|
||||
assertThat(NumberUtil.parseNumber("abc", null), nullValue());
|
||||
|
||||
assertThat(NumberUtil.parseNumber(StrUtil.EMPTY, null), nullValue());
|
||||
|
||||
assertThat(NumberUtil.parseNumber(StrUtil.repeat(StrUtil.SPACE, 10), null), nullValue());
|
||||
|
||||
assertThat(NumberUtil.parseNumber("abc", 456).intValue(), equalTo(456));
|
||||
|
||||
// -------------------------- Parse success -----------------------
|
||||
|
||||
assertThat(NumberUtil.parseNumber("123.abc", 789).intValue(), equalTo(123));
|
||||
|
||||
assertThat(NumberUtil.parseNumber("123.3", null).doubleValue(), equalTo(123.3D));
|
||||
|
||||
assertThat(NumberUtil.parseNumber("0.123.3", null).doubleValue(), equalTo(0.123D));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseHexNumberTest() {
|
||||
// 千位分隔符去掉
|
||||
@ -362,6 +408,69 @@ public class NumberUtilTest {
|
||||
Assert.assertEquals(0, number);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseLongTest2() {
|
||||
|
||||
// -------------------------- Parse failed -----------------------
|
||||
|
||||
Long v1 = NumberUtil.parseLong(null, null);
|
||||
assertThat(v1, nullValue());
|
||||
|
||||
Long v2 = NumberUtil.parseLong(StrUtil.EMPTY, null);
|
||||
assertThat(v2, nullValue());
|
||||
|
||||
Long v3 = NumberUtil.parseLong("L3221", 1233L);
|
||||
assertThat(v3, equalTo(1233L));
|
||||
|
||||
// -------------------------- Parse success -----------------------
|
||||
|
||||
Long v4 = NumberUtil.parseLong("1233L", null);
|
||||
assertThat(v4, equalTo(1233L));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseFloatTest() throws Exception {
|
||||
|
||||
// -------------------------- Parse failed -----------------------
|
||||
|
||||
assertThat(parseFloat("abc", null), nullValue());
|
||||
|
||||
assertThat(parseFloat("a123.33", null), nullValue());
|
||||
|
||||
assertThat(parseFloat("..123", null), nullValue());
|
||||
|
||||
assertThat(parseFloat(StrUtil.EMPTY, 1233F), equalTo(1233F));
|
||||
|
||||
// -------------------------- Parse success -----------------------
|
||||
|
||||
assertThat(parseFloat("123.33a", null), equalTo(123.33F));
|
||||
|
||||
assertThat(parseFloat(".123", null), equalTo(0.123F));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseDoubleTest() throws Exception {
|
||||
|
||||
// -------------------------- Parse failed -----------------------
|
||||
|
||||
assertThat(parseDouble("abc", null), nullValue());
|
||||
|
||||
assertThat(parseDouble("a123.33", null), nullValue());
|
||||
|
||||
assertThat(parseDouble("..123", null), nullValue());
|
||||
|
||||
assertThat(parseDouble(StrUtil.EMPTY, 1233D), equalTo(1233D));
|
||||
|
||||
// -------------------------- Parse success -----------------------
|
||||
|
||||
assertThat(parseDouble("123.33a", null), equalTo(123.33D));
|
||||
|
||||
assertThat(parseDouble(".123", null), equalTo(0.123D));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void factorialTest(){
|
||||
long factorial = NumberUtil.factorial(0);
|
||||
|
Loading…
Reference in New Issue
Block a user