Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test shouldbe reverse #36

Closed
wants to merge 2 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
修复了lD错误的bug
Wangjhbh committed May 23, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 8ca149c8541bb6df356154c539461619a6b40681
23 changes: 11 additions & 12 deletions src/main/java/com/seg83/childbank/dao/DepositAccountBillsDao.java
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@

import java.util.List;


@Repository
@Slf4j
public class DepositAccountBillsDao extends AbstractArrayDao {
@@ -17,9 +18,17 @@ public class DepositAccountBillsDao extends AbstractArrayDao {
@Autowired
public DepositAccountBillsDao(DepositAccountDao depositAccountDao) {
this.depositAccountDao = depositAccountDao;
// 修正 ElementCount 初始化
this.getElementCount();
}

@Override
void getElementCount() {
log.info("Request deposit account count");
this.ElementCount = this.load().size();
log.debug("Get deposit account count {}", this.ElementCount);
}

@Override
JSONArray load() {
log.info("Request deposit account data in JSON format");
@@ -28,13 +37,6 @@ JSONArray load() {
return depositAccountBills;
}

@Override
void getElementCount() {
log.info("Request deposit account count");
this.ElementCount = this.load().size();
log.debug("Get deposit account count {}", this.ElementCount);
}

@Override
DepositAccountBills getElementById(long depositAccountBillId) {
log.info("Request depositAccountBill with id {}", depositAccountBillId);
@@ -107,16 +109,15 @@ private void updateAccountBill(DepositAccountBills bill) {
this.depositAccountDao.setAttribute("depositAccountBills", depositAccountBills);
}

// 这里我不明白为什么this.ElementCount 初始就是1
public void createDepositAccountBill(double amount, double rate, String effectiveDate, String expireDate) {
log.info("Create DepositAccountBill with date amount {}, rate {}, effectiveDate {}, expireDate {}", amount, rate, effectiveDate, expireDate);
DepositAccountBills newDepositAccountBills = new DepositAccountBills(this.ElementCount + 1, amount, rate, effectiveDate, expireDate);
log.debug("this.ElementCount = {}", this.ElementCount);
this.ElementCount++;
log.debug("DepositAccountBill created {}", newDepositAccountBills);

List<DepositAccountBills> depositAccountBills = this.load().toJavaList(DepositAccountBills.class);
depositAccountBills.add(newDepositAccountBills);
this.ElementCount = depositAccountBills.size(); // 更新 ElementCount
log.debug("Set DepositAccountBill Array {}", depositAccountBills);
this.depositAccountDao.setAttribute("depositAccountBills", depositAccountBills);
}
@@ -127,7 +128,7 @@ public void deleteDepositAccountBill(long depositAccountBillId) {
depositAccountBills.removeIf(bill -> bill.getDepositAccountBillId() == depositAccountBillId);
log.debug("Set DepositAccountBill Array after deletion {}", depositAccountBills);
this.depositAccountDao.setAttribute("depositAccountBills", depositAccountBills);
this.ElementCount--;
this.ElementCount = depositAccountBills.size(); // 更新 ElementCount
}

@Override
@@ -177,6 +178,4 @@ public void deleteAllDepositAccountBills() {
this.depositAccountDao.setAttribute("depositAccountBills", depositAccountBills);
this.ElementCount = 0;
}


}
4 changes: 2 additions & 2 deletions src/main/resources/data_template.json5
Original file line number Diff line number Diff line change
@@ -14,11 +14,11 @@
// Bill.java
{
"depositAccountBillId": 1,
"depositAccountBillAmount": 0.0,
"depositAccountBillAmount": 100.0,
"depositAccountBillRate": 0.5,
"depositAccountBillEffectiveDate": "2019-01-01",
"depositAccountBillExpireDate": "2025-01-01",
},
}
],
},
"currentAccount": {
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@@ -18,7 +19,6 @@
import java.util.List;

import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertEquals;

@SpringBootTest
@Slf4j
@@ -39,6 +39,14 @@ static void setup() {
System.setProperty("java.awt.headless", "false");
}

@BeforeEach
void setUp() {
// 删除所有现有的存款账单
depositAccountBillsDao.deleteAllDepositAccountBills();
// 创建初始测试数据
depositService.createDepositAccountBill(100.0, 0.5, "2019-01-01", "2025-01-01");
}

@AfterEach
void restoreTestJson() {
try {
@@ -51,6 +59,9 @@ void restoreTestJson() {

@Test
void generateDepositList() {
depositService.createDepositAccountBill(200, 0.1, "2023-08-03", "2024-05-01");
depositService.createDepositAccountBill(200, 0.1, "2023-08-03", "2024-05-01");
depositService.createDepositAccountBill(200, 0.1, "2023-08-03", "2024-05-01");
Object[][] depositList = depositService.generateDepositList();
assertNotNull(depositList, "Deposit list should not be null");
assertTrue(depositList.length > 0, "Deposit list should not be empty");
@@ -122,7 +133,7 @@ void processMaturedDeposits() {
@Test
void testCalculateDaysBetween() {
long days = stringDateConvert.calculateDaysBetween("2023-08-03", "2024-05-01");
assertEquals(272, days, "Days between 2023-08-03 and 2024-05-01 should be 273");
assertEquals(272, days, "Days between 2023-08-03 and 2024-05-01 should be 272");

days = stringDateConvert.calculateDaysBetween("2023-01-01", "2023-12-31");
assertEquals(364, days, "Days between 2023-01-01 and 2023-12-31 should be 364"); // 2023 is not a leap year