下面列出了java.time.temporal.ValueRange#checkValidIntValue ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
ChronoLocalDate resolveYMD(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) {
int y = range(YEAR).checkValidIntValue(fieldValues.remove(YEAR), YEAR);
if (resolverStyle == ResolverStyle.LENIENT) {
long months = Math.subtractExact(fieldValues.remove(MONTH_OF_YEAR), 1);
long days = Math.subtractExact(fieldValues.remove(DAY_OF_MONTH), 1);
return date(y, 1, 1).plus(months, MONTHS).plus(days, DAYS);
}
int moy = range(MONTH_OF_YEAR).checkValidIntValue(fieldValues.remove(MONTH_OF_YEAR), MONTH_OF_YEAR);
ValueRange domRange = range(DAY_OF_MONTH);
int dom = domRange.checkValidIntValue(fieldValues.remove(DAY_OF_MONTH), DAY_OF_MONTH);
if (resolverStyle == ResolverStyle.SMART) { // previous valid
try {
return date(y, moy, dom);
} catch (DateTimeException ex) {
return date(y, moy, 1).with(TemporalAdjusters.lastDayOfMonth());
}
}
return date(y, moy, dom);
}
ChronoLocalDate resolveYMD(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) {
int y = range(YEAR).checkValidIntValue(fieldValues.remove(YEAR), YEAR);
if (resolverStyle == ResolverStyle.LENIENT) {
long months = Math.subtractExact(fieldValues.remove(MONTH_OF_YEAR), 1);
long days = Math.subtractExact(fieldValues.remove(DAY_OF_MONTH), 1);
return date(y, 1, 1).plus(months, MONTHS).plus(days, DAYS);
}
int moy = range(MONTH_OF_YEAR).checkValidIntValue(fieldValues.remove(MONTH_OF_YEAR), MONTH_OF_YEAR);
ValueRange domRange = range(DAY_OF_MONTH);
int dom = domRange.checkValidIntValue(fieldValues.remove(DAY_OF_MONTH), DAY_OF_MONTH);
if (resolverStyle == ResolverStyle.SMART) { // previous valid
try {
return date(y, moy, dom);
} catch (DateTimeException ex) {
return date(y, moy, 1).with(TemporalAdjusters.lastDayOfMonth());
}
}
return date(y, moy, dom);
}
ChronoLocalDate resolveYMD(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) {
int y = range(YEAR).checkValidIntValue(fieldValues.remove(YEAR), YEAR);
if (resolverStyle == ResolverStyle.LENIENT) {
long months = Math.subtractExact(fieldValues.remove(MONTH_OF_YEAR), 1);
long days = Math.subtractExact(fieldValues.remove(DAY_OF_MONTH), 1);
return date(y, 1, 1).plus(months, MONTHS).plus(days, DAYS);
}
int moy = range(MONTH_OF_YEAR).checkValidIntValue(fieldValues.remove(MONTH_OF_YEAR), MONTH_OF_YEAR);
ValueRange domRange = range(DAY_OF_MONTH);
int dom = domRange.checkValidIntValue(fieldValues.remove(DAY_OF_MONTH), DAY_OF_MONTH);
if (resolverStyle == ResolverStyle.SMART) { // previous valid
try {
return date(y, moy, dom);
} catch (DateTimeException ex) {
return date(y, moy, 1).with(TemporalAdjusters.lastDayOfMonth());
}
}
return date(y, moy, dom);
}
ChronoLocalDate resolveYMD(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) {
int y = range(YEAR).checkValidIntValue(fieldValues.remove(YEAR), YEAR);
if (resolverStyle == ResolverStyle.LENIENT) {
long months = Math.subtractExact(fieldValues.remove(MONTH_OF_YEAR), 1);
long days = Math.subtractExact(fieldValues.remove(DAY_OF_MONTH), 1);
return date(y, 1, 1).plus(months, MONTHS).plus(days, DAYS);
}
int moy = range(MONTH_OF_YEAR).checkValidIntValue(fieldValues.remove(MONTH_OF_YEAR), MONTH_OF_YEAR);
ValueRange domRange = range(DAY_OF_MONTH);
int dom = domRange.checkValidIntValue(fieldValues.remove(DAY_OF_MONTH), DAY_OF_MONTH);
if (resolverStyle == ResolverStyle.SMART) { // previous valid
try {
return date(y, moy, dom);
} catch (DateTimeException ex) {
return date(y, moy, 1).with(TemporalAdjusters.lastDayOfMonth());
}
}
return date(y, moy, dom);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(dataProvider="valid", expectedExceptions = DateTimeException.class)
public void test_of_checkValidValueMinException(long sMin, long lMin, long sMax, long lMax) {
ValueRange test = ValueRange.of(sMin, lMin, sMax, lMax);
test.checkValidIntValue(sMin-1, null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueUnsupported_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(0, (ChronoField)null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(dataProvider="valid", expectedExceptions = DateTimeException.class)
public void test_of_checkValidValueMinException(long sMin, long lMin, long sMax, long lMax) {
ValueRange test = ValueRange.of(sMin, lMin, sMax, lMax);
test.checkValidIntValue(sMin-1, null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(dataProvider="valid", expectedExceptions = DateTimeException.class)
public void test_of_checkValidValueMaxException(long sMin, long lMin, long sMax, long lMax) {
ValueRange test = ValueRange.of(sMin, lMin, sMax, lMax);
test.checkValidIntValue(lMax+1, null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(dataProvider="valid", expectedExceptions = DateTimeException.class)
public void test_of_checkValidValueMinException(long sMin, long lMin, long sMax, long lMax) {
ValueRange test = ValueRange.of(sMin, lMin, sMax, lMax);
test.checkValidIntValue(sMin-1, null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(dataProvider="valid", expectedExceptions = DateTimeException.class)
public void test_of_checkValidValueMinException(long sMin, long lMin, long sMax, long lMax) {
ValueRange test = ValueRange.of(sMin, lMin, sMax, lMax);
test.checkValidIntValue(sMin-1, null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueInvalid_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(Integer.MAX_VALUE + 2L, (ChronoField)null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueUnsupported_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(0, (ChronoField)null);
}
@Test(expectedExceptions = DateTimeException.class)
public void test_checkValidValueUnsupported_long_long() {
ValueRange test = ValueRange.of(1, 28, Integer.MAX_VALUE + 1L);
test.checkValidIntValue(0, (ChronoField)null);
}
@Test(dataProvider="valid", expectedExceptions = DateTimeException.class)
public void test_of_checkValidValueMinException(long sMin, long lMin, long sMax, long lMax) {
ValueRange test = ValueRange.of(sMin, lMin, sMax, lMax);
test.checkValidIntValue(sMin-1, null);
}