mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix Range
This commit is contained in:
@@ -19,7 +19,6 @@ import java.util.Date;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Objects;
|
||||
import java.util.TimeZone;
|
||||
|
||||
@@ -681,47 +680,6 @@ public class DateUtilTest {
|
||||
Assert.assertEquals(Week.WEDNESDAY, week);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rangeTest() {
|
||||
DateTime start = DateUtil.parse("2017-01-01");
|
||||
DateTime end = DateUtil.parse("2017-01-03");
|
||||
|
||||
// 测试包含开始和结束情况下步进为1的情况
|
||||
DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-01"));
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-02"));
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-03"));
|
||||
try {
|
||||
range.next();
|
||||
Assert.fail("已超过边界,下一个元素不应该存在!");
|
||||
} catch (NoSuchElementException ignored) {
|
||||
}
|
||||
|
||||
// 测试多步进的情况
|
||||
range = new DateRange(start, end, DateField.DAY_OF_YEAR, 2);
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-01"));
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-03"));
|
||||
|
||||
// 测试不包含开始结束时间的情况
|
||||
range = new DateRange(start, end, DateField.DAY_OF_YEAR, 1, false, false);
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-02"));
|
||||
try {
|
||||
range.next();
|
||||
Assert.fail("不包含结束时间情况下,下一个元素不应该存在!");
|
||||
} catch (NoSuchElementException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rangeToListTest() {
|
||||
DateTime start = DateUtil.parse("2017-01-01");
|
||||
DateTime end = DateUtil.parse("2017-01-31");
|
||||
|
||||
List<DateTime> rangeToList = DateUtil.rangeToList(start, end, DateField.DAY_OF_YEAR);
|
||||
Assert.assertEquals(rangeToList.get(0), DateUtil.parse("2017-01-01"));
|
||||
Assert.assertEquals(rangeToList.get(1), DateUtil.parse("2017-01-02"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void compareTest() {
|
||||
Date date1 = DateUtil.parse("2021-04-13 23:59:59.999");
|
||||
|
@@ -7,6 +7,9 @@ import cn.hutool.core.date.DateUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
/**
|
||||
* {@link Range} 单元测试
|
||||
* @author Looly
|
||||
@@ -57,4 +60,53 @@ public class RangeTest {
|
||||
Assert.assertEquals(Integer.valueOf(1), range.next());
|
||||
Assert.assertFalse(range.hasNext());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rangeByStepTest() {
|
||||
DateTime start = DateUtil.parse("2017-01-01");
|
||||
DateTime end = DateUtil.parse("2017-01-03");
|
||||
|
||||
// 测试包含开始和结束情况下步进为1的情况
|
||||
DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-01"));
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-02"));
|
||||
Assert.assertEquals(range.next(), DateUtil.parse("2017-01-03"));
|
||||
try {
|
||||
range.next();
|
||||
Assert.fail("已超过边界,下一个元素不应该存在!");
|
||||
} catch (NoSuchElementException ignored) {
|
||||
}
|
||||
|
||||
// 测试多步进的情况
|
||||
range = new DateRange(start, end, DateField.DAY_OF_YEAR, 2);
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-01"), range.next());
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-03"), range.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rangeDayOfYearTest(){
|
||||
DateTime start = DateUtil.parse("2017-01-01");
|
||||
DateTime end = DateUtil.parse("2017-01-05");
|
||||
|
||||
// 测试不包含开始结束时间的情况
|
||||
DateRange range = new DateRange(start, end, DateField.DAY_OF_YEAR, 1, false, false);
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-02"), range.next());
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-03"), range.next());
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-04"), range.next());
|
||||
try {
|
||||
range.next();
|
||||
Assert.fail("不包含结束时间情况下,下一个元素不应该存在!");
|
||||
} catch (NoSuchElementException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rangeToListTest() {
|
||||
DateTime start = DateUtil.parse("2017-01-01");
|
||||
DateTime end = DateUtil.parse("2017-01-31");
|
||||
|
||||
List<DateTime> rangeToList = DateUtil.rangeToList(start, end, DateField.DAY_OF_YEAR);
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-01"), rangeToList.get(0));
|
||||
Assert.assertEquals(DateUtil.parse("2017-01-02"), rangeToList.get(1));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user