当yearsToSubtract的值为Long.MIN_VALUE时,我遇到了遇到yearsToSubtract == Long.MIN_VALUE分支的问题。
public Period minusYears(long yearsToSubtract) {
return (yearsToSubtract == Long.MIN_VALUE ?plusYears(Long.MAX_VALUE).plusYears(1) : plusYears(-yearsToSubtract));
}
public Period plusYears(long yearsToAdd) {
if (yearsToAdd == 0) {
return this;
}
return create(Math.toIntExact(Math.addExact(years, yearsToAdd)), months, days);
}
这是我的plusYears函数,我的create函数只是一个getter函数,它设置了years,Months和Days的值
当myToSubtract的值为Long.MIN_VALUE
时,这是我覆盖分支的测试用例 @Test
public void testIfMinusYears() {
Period p = Period.of(1, 1, 1);
try {
p.minusYears(Long.MIN_VALUE);
} catch (ArithmeticException e) {
}
}
这是我的测试用例,当yearsToSubtract是一个不等于Long.MIN_VALUE
的值时,点击另一个分支 @Test
public void testMinusYears() {
Period p = Period.of(0, 0, 0);
p.minusYears(-100);
}
of(years,Months,days)是一个设置年,月和日的值的函数
On Android 8.1 API 27 notification does not display
有人可以告诉我如何点击那个分支,这是我班上的作业,我已经尝试了所有可能的方法,但是无法弄清楚如何击中那个分支。
由于