การแลกเปลี่ยนเงินตราต่างประเทศ
ธนาคารกลางยุโรปเผยแพร่อัตราแลกเปลี่ยนอ้างอิงรายวันสำหรับสกุลเงินต่าง ๆ เทียบกับยูโร โดยอัปเดตทุกวันทำการเวลา 16:00 CET สำหรับแบบฝึกหัดนี้ EuropeanCentralBankServer ใช้อัตราอ้างอิงที่โหลดไว้ล่วงหน้าสำหรับ ตุลาคม 2025
คลิกที่นี่ เพื่อดูตัวอย่างหนึ่ง ได้แก่ อัตรา EUR ต่อ TRY (ลีราตุรกี) พร้อมกับการเปลี่ยนแปลงในช่วงปีที่ผ่านมา ลองดูกราฟในลิงก์นั้น แล้วคิดว่าจะทายอัตราของพรุ่งนี้ได้ไหม?
เขียน integration test ให้สมบูรณ์ โดย assert คุณสมบัติพื้นฐานบางอย่างของการแปลงสกุลเงิน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทดสอบใน Java เบื้องต้น
คำแนะนำการฝึกหัด
- สร้าง object
EuropeanCentralBankServerใหม่ (ไม่ใช่ mock) - เนื่องจาก
ExchangeAppขึ้นอยู่กับEuropeanCentralBankServerให้ใช้ object ที่สร้างขึ้นมาเพื่อสร้างExchangeApp - เขียน assertion ที่มีความหมายบนค่าของจำนวนเงินที่แปลงแล้ว เพื่อยืนยันว่าการแลกเปลี่ยนทำงานได้ถูกต้องตามที่ตั้งใจไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class Main {
public static void main(String[] args) {
launchTestsAndPrint(ExchangeAppTest.class);
}
}
class ExchangeAppTest {
@Test
void convertEuroTo_convertsTRY() {
// Create a EuropeanCentralBankServer object
EuropeanCentralBankServer bank = new ____();
// Pass the dependency to the constructor of ExchangeApp
ExchangeApp exchangeApp = new ____(____);
double euroAmount = 100;
double tryAmount = exchangeApp.convertEuroTo("TRY", euroAmount);
System.out.println("Converted " + euroAmount + " EUR to " + tryAmount + " TRY.");
// Write down a meaningful assertion that matches the expression in the parentheses
____(tryAmount > 0);
}
}