完成 Quarter 单元测试

pull/5/head
ZhouXY108 2024-12-25 21:30:18 +08:00
parent 767217a143
commit 979293cb7a
3 changed files with 117 additions and 5 deletions

View File

@ -1,6 +1,6 @@
[ ] 未开始测试 - 25 (35.71%)
[-] 测试未完成 - 13 (18.57%)
[Y] 测试完成 - 20 (28.57%)
[-] 测试未完成 - 12 (17.14%)
[Y] 测试完成 - 21 (30.00%)
[x] 无需测试 - 12 (17.14%)
xyz.zhouxy.plusone.commons
@ -79,7 +79,7 @@ xyz.zhouxy.plusone.commons
│ SQL.java [ ]
├───time
│ Quarter.java [-]
│ Quarter.java [Y]
│ YearQuarter.java [-]
└───util

View File

@ -116,12 +116,12 @@ public enum Quarter implements IWithIntCode {
// computes
public Quarter plus(long quarters) { // TODO 单元测试
public Quarter plus(long quarters) {
final int amount = (int) ((quarters % 4) + 4);
return ENUMS[(ordinal() + amount) % 4];
}
public Quarter minus(long quarters) { // TODO 单元测试
public Quarter minus(long quarters) {
return plus(-(quarters % 4));
}

View File

@ -240,4 +240,116 @@ class QuarterTests {
firstDayOfYear = Quarter.Q4.firstDayOfYear(false);
assertEquals(1 + (31 + 28 + 31) + (30 + 31 + 30) + (31 + 30 + 31), firstDayOfYear);
}
@Test
void testPlusZeroAndPositiveRealNumbers() {
for (int i = 0; i < 100; i += 4) {
assertEquals(Quarter.Q1, Quarter.Q1.plus(i));
assertEquals(Quarter.Q2, Quarter.Q2.plus(i));
assertEquals(Quarter.Q3, Quarter.Q3.plus(i));
assertEquals(Quarter.Q4, Quarter.Q4.plus(i));
}
for (int i = 1; i < 100 + 1; i += 4) {
assertEquals(Quarter.Q2, Quarter.Q1.plus(i));
assertEquals(Quarter.Q3, Quarter.Q2.plus(i));
assertEquals(Quarter.Q4, Quarter.Q3.plus(i));
assertEquals(Quarter.Q1, Quarter.Q4.plus(i));
}
for (int i = 2; i < 100 + 2; i += 4) {
assertEquals(Quarter.Q3, Quarter.Q1.plus(i));
assertEquals(Quarter.Q4, Quarter.Q2.plus(i));
assertEquals(Quarter.Q1, Quarter.Q3.plus(i));
assertEquals(Quarter.Q2, Quarter.Q4.plus(i));
}
for (int i = 3; i < 100 + 3; i += 4) {
assertEquals(Quarter.Q4, Quarter.Q1.plus(i));
assertEquals(Quarter.Q1, Quarter.Q2.plus(i));
assertEquals(Quarter.Q2, Quarter.Q3.plus(i));
assertEquals(Quarter.Q3, Quarter.Q4.plus(i));
}
}
@Test
void testPlusZeroAndNegativeNumber() {
for (int i = 0; i > -100; i -= 4) {
assertEquals(Quarter.Q1, Quarter.Q1.plus(i));
assertEquals(Quarter.Q2, Quarter.Q2.plus(i));
assertEquals(Quarter.Q3, Quarter.Q3.plus(i));
assertEquals(Quarter.Q4, Quarter.Q4.plus(i));
}
for (int i = -1; i > -(100 + 1); i -= 4) {
assertEquals(Quarter.Q4, Quarter.Q1.plus(i));
assertEquals(Quarter.Q1, Quarter.Q2.plus(i));
assertEquals(Quarter.Q2, Quarter.Q3.plus(i));
assertEquals(Quarter.Q3, Quarter.Q4.plus(i));
}
for (int i = -2; i > -(100 + 2); i -= 4) {
assertEquals(Quarter.Q3, Quarter.Q1.plus(i));
assertEquals(Quarter.Q4, Quarter.Q2.plus(i));
assertEquals(Quarter.Q1, Quarter.Q3.plus(i));
assertEquals(Quarter.Q2, Quarter.Q4.plus(i));
}
for (int i = -3; i > -(100 + 3); i -= 4) {
assertEquals(Quarter.Q2, Quarter.Q1.plus(i));
assertEquals(Quarter.Q3, Quarter.Q2.plus(i));
assertEquals(Quarter.Q4, Quarter.Q3.plus(i));
assertEquals(Quarter.Q1, Quarter.Q4.plus(i));
}
}
@Test
void testMinusZeroAndNegativeNumber() {
for (int i = 0; i < 100; i += 4) {
assertEquals(Quarter.Q1, Quarter.Q1.minus(i));
assertEquals(Quarter.Q2, Quarter.Q2.minus(i));
assertEquals(Quarter.Q3, Quarter.Q3.minus(i));
assertEquals(Quarter.Q4, Quarter.Q4.minus(i));
}
for (int i = 1; i < 100 + 1; i += 4) {
assertEquals(Quarter.Q4, Quarter.Q1.minus(i));
assertEquals(Quarter.Q1, Quarter.Q2.minus(i));
assertEquals(Quarter.Q2, Quarter.Q3.minus(i));
assertEquals(Quarter.Q3, Quarter.Q4.minus(i));
}
for (int i = 2; i < 100 + 2; i += 4) {
assertEquals(Quarter.Q3, Quarter.Q1.minus(i));
assertEquals(Quarter.Q4, Quarter.Q2.minus(i));
assertEquals(Quarter.Q1, Quarter.Q3.minus(i));
assertEquals(Quarter.Q2, Quarter.Q4.minus(i));
}
for (int i = 3; i < 100 + 3; i += 4) {
assertEquals(Quarter.Q2, Quarter.Q1.minus(i));
assertEquals(Quarter.Q3, Quarter.Q2.minus(i));
assertEquals(Quarter.Q4, Quarter.Q3.minus(i));
assertEquals(Quarter.Q1, Quarter.Q4.minus(i));
}
}
@Test
void testMinusZeroAndPositiveRealNumbers() {
for (int i = 0; i > -100; i -= 4) {
assertEquals(Quarter.Q1, Quarter.Q1.minus(i));
assertEquals(Quarter.Q2, Quarter.Q2.minus(i));
assertEquals(Quarter.Q3, Quarter.Q3.minus(i));
assertEquals(Quarter.Q4, Quarter.Q4.minus(i));
}
for (int i = -1; i > -(100 + 1); i -= 4) {
assertEquals(Quarter.Q2, Quarter.Q1.minus(i));
assertEquals(Quarter.Q3, Quarter.Q2.minus(i));
assertEquals(Quarter.Q4, Quarter.Q3.minus(i));
assertEquals(Quarter.Q1, Quarter.Q4.minus(i));
}
for (int i = -2; i > -(100 + 2); i -= 4) {
assertEquals(Quarter.Q3, Quarter.Q1.minus(i));
assertEquals(Quarter.Q4, Quarter.Q2.minus(i));
assertEquals(Quarter.Q1, Quarter.Q3.minus(i));
assertEquals(Quarter.Q2, Quarter.Q4.minus(i));
}
for (int i = -3; i > -(100 + 3); i -= 4) {
assertEquals(Quarter.Q4, Quarter.Q1.minus(i));
assertEquals(Quarter.Q1, Quarter.Q2.minus(i));
assertEquals(Quarter.Q2, Quarter.Q3.minus(i));
assertEquals(Quarter.Q3, Quarter.Q4.minus(i));
}
}
}