001package edu.pdx.cs.joy.di; 002 003import jakarta.xml.bind.JAXBException; 004import org.junit.jupiter.api.Test; 005 006import java.io.File; 007import java.io.IOException; 008 009import static org.hamcrest.MatcherAssert.assertThat; 010import static org.hamcrest.core.IsEqual.equalTo; 011 012public class CreditCardDatabaseTest { 013 014 final File testDirectory = new File(System.getProperty("java.io.tmpdir")); 015 016 @Test 017 public void setBalanceWritesToFile() throws IOException, JAXBException { 018 String fileName = "setBalanceWriteToFile" + System.currentTimeMillis() + ".xml"; 019 double balance = 100.00; 020 021 CreditCardDatabase db = new CreditCardDatabase(testDirectory, fileName); 022 CreditCard card = new CreditCard("12345"); 023 db.setBalance(card, balance); 024 025 db = new CreditCardDatabase(testDirectory, fileName); 026 assertThat(db.getBalances().get(card), equalTo(balance)); 027 db.getDatabaseFile().deleteOnExit(); 028 } 029 030}