This commit is contained in:
Looly
2024-08-09 14:23:57 +08:00
parent 8dc232a22a
commit 362b06534e
5 changed files with 90 additions and 85 deletions

View File

@@ -13,16 +13,17 @@
package org.dromara.hutool.core.bean;
import lombok.Data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class IssueI5DDZXTest {
@Test
public void copyPropertiesTest() {
// 对于final字段private由于没有提供setter方法是无法实现属性赋值的如果设置为public即可
final TeStudent student = new TeStudent("Hutool");
final TePerson tePerson = BeanUtil.copyProperties(student, TePerson.class);
Assertions.assertEquals("Hutool", tePerson.getName());
assertEquals("Hutool", tePerson.getName());
}
@Data

View File

@@ -12,9 +12,10 @@
package org.dromara.hutool.core.data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* 坐标转换工具类单元测试<br>
* 测试参考https://github.com/wandergis/coordtransform
@@ -26,53 +27,53 @@ public class CoordinateUtilTest {
@Test
public void wgs84ToGcj02Test() {
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.wgs84ToGcj02(116.404, 39.915);
Assertions.assertEquals(116.41024449916938D, coordinate.getLng(), 0.00000000000001D);
Assertions.assertEquals(39.91640428150164D, coordinate.getLat(), 0.00000000000001D);
assertEquals(116.41024449916938D, coordinate.getLng(), 0.00000000000001D);
assertEquals(39.91640428150164D, coordinate.getLat(), 0.00000000000001D);
}
@Test
public void gcj02ToWgs84Test() {
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.gcj02ToWgs84(116.404, 39.915);
Assertions.assertEquals(116.39775550083061D, coordinate.getLng(), 0.00000000000001D);
Assertions.assertEquals(39.91359571849836D, coordinate.getLat(), 0.00000000000001D);
assertEquals(116.39775550083061D, coordinate.getLng(), 0.00000000000001D);
assertEquals(39.91359571849836D, coordinate.getLat(), 0.00000000000001D);
}
@Test
public void wgs84toBd09Test() {
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.wgs84ToBd09(116.404, 39.915);
Assertions.assertEquals(116.41662724378733D, coordinate.getLng(), 0.00000000000001D);
Assertions.assertEquals(39.922699552216216D, coordinate.getLat(), 0.00000000000001D);
assertEquals(116.41662724378733D, coordinate.getLng(), 0.00000000000001D);
assertEquals(39.922699552216216D, coordinate.getLat(), 0.00000000000001D);
}
@Test
public void wgs84toBd09Test2() {
// https://tool.lu/coordinate/
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.wgs84ToBd09(122.99395597D, 44.99804071D);
Assertions.assertEquals(123.00636516028885D, coordinate.getLng(), 0.00000000000001D);
assertEquals(123.00636516028885D, coordinate.getLng(), 0.00000000000001D);
// 不同jdk版本、不同架构jdk, 精度有差异数值不完全相等这里增加精度控制delta
// 参考从Java Math底层实现看Arm与x86的差异https://yikun.github.io/2020/04/10/%E4%BB%8EJava-Math%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E7%9C%8BArm%E4%B8%8Ex86%E7%9A%84%E5%B7%AE%E5%BC%82/
Assertions.assertEquals(45.00636909189589D, coordinate.getLat(), 0.00000000000001D);
assertEquals(45.00636909189589D, coordinate.getLat(), 0.00000000000001D);
}
@Test
public void bd09toWgs84Test() {
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.bd09toWgs84(116.404, 39.915);
Assertions.assertEquals(116.3913836995125D, coordinate.getLng(), 0.00000000000001D);
Assertions.assertEquals(39.907253214522164D, coordinate.getLat(), 0.00000000000001D);
assertEquals(116.3913836995125D, coordinate.getLng(), 0.00000000000001D);
assertEquals(39.907253214522164D, coordinate.getLat(), 0.00000000000001D);
}
@Test
public void gcj02ToBd09Test() {
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.gcj02ToBd09(116.404, 39.915);
Assertions.assertEquals(116.41036949371029D, coordinate.getLng(), 0.00000000000001D);
Assertions.assertEquals(39.92133699351022D, coordinate.getLat(), 0.00000000000001D);
assertEquals(116.41036949371029D, coordinate.getLng(), 0.00000000000001D);
assertEquals(39.92133699351022D, coordinate.getLat(), 0.00000000000001D);
}
@Test
public void bd09toGcj02Test() {
final CoordinateUtil.Coordinate coordinate = CoordinateUtil.bd09ToGcj02(116.404, 39.915);
Assertions.assertEquals(116.39762729119315D, coordinate.getLng(), 0.00000000000001D);
Assertions.assertEquals(39.90865673957631D, coordinate.getLat(), 0.00000000000001D);
assertEquals(116.39762729119315D, coordinate.getLng(), 0.00000000000001D);
assertEquals(39.90865673957631D, coordinate.getLat(), 0.00000000000001D);
}
}

View File

@@ -14,7 +14,6 @@ package org.dromara.hutool.core.math;
import org.dromara.hutool.core.lang.Console;
import org.dromara.hutool.core.text.StrUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledForJreRange;
import org.junit.jupiter.api.condition.JRE;
@@ -25,8 +24,7 @@ import java.math.RoundingMode;
import java.text.NumberFormat;
import java.text.ParseException;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.*;
/**
* {@link NumberUtil} 单元测试类
@@ -362,7 +360,7 @@ public class NumberUtilTest {
@Test
public void equalsTest() {
Assertions.assertTrue(NumberUtil.equals(new BigDecimal("0.00"), BigDecimal.ZERO));
assertTrue(NumberUtil.equals(new BigDecimal("0.00"), BigDecimal.ZERO));
}
@Test
@@ -467,7 +465,7 @@ public class NumberUtilTest {
// -------------------------- Parse failed -----------------------
Assertions.assertNull(NumberUtil.parseInt("abc", null));
assertNull(NumberUtil.parseInt("abc", null));
assertEquals(456, NumberUtil.parseInt("abc", 456));
@@ -502,8 +500,8 @@ public class NumberUtilTest {
// issue#I5M55F
final String numberStr = "429900013E20220812163344551";
final Number number = NumberUtil.parseNumber(numberStr);
Assertions.assertNotNull(number);
Assertions.assertInstanceOf(BigDecimal.class, number);
assertNotNull(number);
assertInstanceOf(BigDecimal.class, number);
}
@Test
@@ -511,11 +509,11 @@ public class NumberUtilTest {
// -------------------------- Parse failed -----------------------
Assertions.assertNull(NumberUtil.parseNumber("abc", (Number) null));
assertNull(NumberUtil.parseNumber("abc", (Number) null));
Assertions.assertNull(NumberUtil.parseNumber(StrUtil.EMPTY, (Number) null));
assertNull(NumberUtil.parseNumber(StrUtil.EMPTY, (Number) null));
Assertions.assertNull(NumberUtil.parseNumber(StrUtil.repeat(StrUtil.SPACE, 10), (Number) null));
assertNull(NumberUtil.parseNumber(StrUtil.repeat(StrUtil.SPACE, 10), (Number) null));
assertEquals(456, NumberUtil.parseNumber("abc", 456).intValue());
@@ -580,10 +578,10 @@ public class NumberUtilTest {
// -------------------------- Parse failed -----------------------
final Long v1 = NumberUtil.parseLong(null, null);
Assertions.assertNull(v1);
assertNull(v1);
final Long v2 = NumberUtil.parseLong(StrUtil.EMPTY, null);
Assertions.assertNull(v2);
assertNull(v2);
final Long v3 = NumberUtil.parseLong("L3221", 1233L);
assertEquals(1233L, v3);
@@ -597,11 +595,11 @@ public class NumberUtilTest {
@Test
public void isPowerOfTwoTest() {
Assertions.assertFalse(NumberUtil.isPowerOfTwo(-1));
Assertions.assertTrue(NumberUtil.isPowerOfTwo(16));
Assertions.assertTrue(NumberUtil.isPowerOfTwo(65536));
Assertions.assertTrue(NumberUtil.isPowerOfTwo(1));
Assertions.assertFalse(NumberUtil.isPowerOfTwo(17));
assertFalse(NumberUtil.isPowerOfTwo(-1));
assertTrue(NumberUtil.isPowerOfTwo(16));
assertTrue(NumberUtil.isPowerOfTwo(65536));
assertTrue(NumberUtil.isPowerOfTwo(1));
assertFalse(NumberUtil.isPowerOfTwo(17));
}
@Test
@@ -622,28 +620,28 @@ public class NumberUtilTest {
@Test
public void isOddOrEvenTest() {
final int[] a = {0, 32, -32, 123, -123};
Assertions.assertFalse(NumberUtil.isOdd(a[0]));
Assertions.assertTrue(NumberUtil.isEven(a[0]));
assertFalse(NumberUtil.isOdd(a[0]));
assertTrue(NumberUtil.isEven(a[0]));
Assertions.assertFalse(NumberUtil.isOdd(a[1]));
Assertions.assertTrue(NumberUtil.isEven(a[1]));
assertFalse(NumberUtil.isOdd(a[1]));
assertTrue(NumberUtil.isEven(a[1]));
Assertions.assertFalse(NumberUtil.isOdd(a[2]));
Assertions.assertTrue(NumberUtil.isEven(a[2]));
assertFalse(NumberUtil.isOdd(a[2]));
assertTrue(NumberUtil.isEven(a[2]));
Assertions.assertTrue(NumberUtil.isOdd(a[3]));
Assertions.assertFalse(NumberUtil.isEven(a[3]));
assertTrue(NumberUtil.isOdd(a[3]));
assertFalse(NumberUtil.isEven(a[3]));
Assertions.assertTrue(NumberUtil.isOdd(a[4]));
Assertions.assertFalse(NumberUtil.isEven(a[4]));
assertTrue(NumberUtil.isOdd(a[4]));
assertFalse(NumberUtil.isEven(a[4]));
}
@Test
public void toBigIntegerTest() {
final Number number = 1123123;
final Number number2 = 1123123.123;
Assertions.assertNotNull(NumberUtil.toBigInteger(number));
Assertions.assertNotNull(NumberUtil.toBigInteger(number2));
assertNotNull(NumberUtil.toBigInteger(number));
assertNotNull(NumberUtil.toBigInteger(number2));
}
@Test
@@ -654,25 +652,25 @@ public class NumberUtilTest {
@Test
public void isDoubleTest() {
Assertions.assertFalse(NumberUtil.isDouble(null));
Assertions.assertFalse(NumberUtil.isDouble(""));
Assertions.assertFalse(NumberUtil.isDouble(" "));
Assertions.assertFalse(NumberUtil.isDouble("1"));
Assertions.assertFalse(NumberUtil.isDouble("-1"));
Assertions.assertFalse(NumberUtil.isDouble("+1"));
Assertions.assertFalse(NumberUtil.isDouble("0.1."));
Assertions.assertFalse(NumberUtil.isDouble("01"));
Assertions.assertFalse(NumberUtil.isDouble("NaN"));
Assertions.assertFalse(NumberUtil.isDouble("-NaN"));
Assertions.assertFalse(NumberUtil.isDouble("-Infinity"));
assertFalse(NumberUtil.isDouble(null));
assertFalse(NumberUtil.isDouble(""));
assertFalse(NumberUtil.isDouble(" "));
assertFalse(NumberUtil.isDouble("1"));
assertFalse(NumberUtil.isDouble("-1"));
assertFalse(NumberUtil.isDouble("+1"));
assertFalse(NumberUtil.isDouble("0.1."));
assertFalse(NumberUtil.isDouble("01"));
assertFalse(NumberUtil.isDouble("NaN"));
assertFalse(NumberUtil.isDouble("-NaN"));
assertFalse(NumberUtil.isDouble("-Infinity"));
Assertions.assertTrue(NumberUtil.isDouble("0."));
Assertions.assertTrue(NumberUtil.isDouble("0.1"));
Assertions.assertTrue(NumberUtil.isDouble("-0.1"));
Assertions.assertTrue(NumberUtil.isDouble("+0.1"));
Assertions.assertTrue(NumberUtil.isDouble("0.110"));
Assertions.assertTrue(NumberUtil.isDouble("00.1"));
Assertions.assertTrue(NumberUtil.isDouble("01.1"));
assertTrue(NumberUtil.isDouble("0."));
assertTrue(NumberUtil.isDouble("0.1"));
assertTrue(NumberUtil.isDouble("-0.1"));
assertTrue(NumberUtil.isDouble("+0.1"));
assertTrue(NumberUtil.isDouble("0.110"));
assertTrue(NumberUtil.isDouble("00.1"));
assertTrue(NumberUtil.isDouble("01.1"));
}
@Test
@@ -700,16 +698,16 @@ public class NumberUtilTest {
@Test
public void isPrimeTest(){
Assertions.assertTrue(NumberUtil.isPrime(2));
Assertions.assertTrue(NumberUtil.isPrime(3));
Assertions.assertTrue(NumberUtil.isPrime(7));
Assertions.assertTrue(NumberUtil.isPrime(17));
Assertions.assertTrue(NumberUtil.isPrime(296731));
Assertions.assertTrue(NumberUtil.isPrime(99999989));
assertTrue(NumberUtil.isPrime(2));
assertTrue(NumberUtil.isPrime(3));
assertTrue(NumberUtil.isPrime(7));
assertTrue(NumberUtil.isPrime(17));
assertTrue(NumberUtil.isPrime(296731));
assertTrue(NumberUtil.isPrime(99999989));
Assertions.assertFalse(NumberUtil.isPrime(4));
Assertions.assertFalse(NumberUtil.isPrime(296733));
Assertions.assertFalse(NumberUtil.isPrime(20_4123_2399));
assertFalse(NumberUtil.isPrime(4));
assertFalse(NumberUtil.isPrime(296733));
assertFalse(NumberUtil.isPrime(20_4123_2399));
}
@Test
@@ -717,11 +715,11 @@ public class NumberUtilTest {
// -------------------------- Parse failed -----------------------
Assertions.assertNull(NumberUtil.parseFloat("abc", null));
assertNull(NumberUtil.parseFloat("abc", null));
Assertions.assertNull(NumberUtil.parseFloat("a123.33", null));
assertNull(NumberUtil.parseFloat("a123.33", null));
Assertions.assertNull(NumberUtil.parseFloat("..123", null));
assertNull(NumberUtil.parseFloat("..123", null));
assertEquals(1233F, NumberUtil.parseFloat(StrUtil.EMPTY, 1233F));
@@ -738,9 +736,9 @@ public class NumberUtilTest {
// -------------------------- Parse failed -----------------------
Assertions.assertNull(NumberUtil.parseDouble("abc", null));
Assertions.assertNull(NumberUtil.parseDouble("a123.33", null));
Assertions.assertNull(NumberUtil.parseDouble("..123", null));
assertNull(NumberUtil.parseDouble("abc", null));
assertNull(NumberUtil.parseDouble("a123.33", null));
assertNull(NumberUtil.parseDouble("..123", null));
assertEquals(1233D, NumberUtil.parseDouble(StrUtil.EMPTY, 1233D));
// -------------------------- Parse success -----------------------
@@ -765,7 +763,7 @@ public class NumberUtilTest {
@Test
void issueI6ZD1RTest() {
Assertions.assertFalse(NumberUtil.isInteger("999999999999999"));
assertFalse(NumberUtil.isInteger("999999999999999"));
}
@Test
@@ -792,7 +790,7 @@ public class NumberUtilTest {
@Test
public void isValidNumberTest() {
final boolean validNumber = NumberUtil.isValidNumber(1);
Assertions.assertTrue(validNumber);
assertTrue(validNumber);
}
@Test

View File

@@ -122,6 +122,10 @@
<artifactId>kotlin-stdlib-jdk8</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
</exclusion>
<exclusion>
<artifactId>junit</artifactId>
<groupId>junit</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

View File

@@ -3,12 +3,13 @@ package org.dromara.hutool.http;
import org.dromara.hutool.core.net.url.UrlQuery;
import org.dromara.hutool.core.net.url.UrlQueryUtil;
import org.dromara.hutool.core.util.CharsetUtil;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class Issue3536Test {
@Test
@@ -19,7 +20,7 @@ public class Issue3536Test {
paramMap.put("scope", "a,b,c你");
final String s = HttpUtil.urlWithFormUrlEncoded(url, paramMap, CharsetUtil.UTF_8);
Assert.assertEquals("https://hutool.cn/test?scope=a,b,c%E4%BD%A0&redirect_uri=https://api.hutool.cn/v1/test", s);
assertEquals("https://hutool.cn/test?scope=a,b,c%E4%BD%A0&redirect_uri=https://api.hutool.cn/v1/test", s);
}
@Test
@@ -29,6 +30,6 @@ public class Issue3536Test {
paramMap.put("scope", "a,b,c你");
final String params = UrlQueryUtil.toQuery(paramMap, CharsetUtil.UTF_8, UrlQuery.EncodeMode.STRICT);
Assert.assertEquals("scope=a%2Cb%2Cc%E4%BD%A0&redirect_uri=https%3A%2F%2Fapi.hutool.cn%2Fv1%2Ftest", params);
assertEquals("scope=a%2Cb%2Cc%E4%BD%A0&redirect_uri=https%3A%2F%2Fapi.hutool.cn%2Fv1%2Ftest", params);
}
}