Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pt.ulisboa.tecnico.softeng.bank.domain;
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertTrue;
- import static org.junit.Assert.assertNotNull;
- import org.junit.After;
- import org.junit.Test;
- import pt.ist.fenixframework.Atomic;
- import pt.ist.fenixframework.Atomic.TxMode;
- import pt.ist.fenixframework.FenixFramework;
- public class BankPersistenceTest {
- private static final String BANK_CODE_1 = "BK01";
- private static final String BANK_CODE_2 = "BK02";
- @Test
- public void success() {
- atomicProcess();
- atomicAssert();
- }
- @Atomic(mode = TxMode.WRITE)
- public void atomicProcess() {
- Bank bank_1 = new Bank("Money", BANK_CODE_1);
- Bank bank_2 = new Bank("Capital", BANK_CODE_2);
- Client client_1 = new Client(Bank.getBankByCode(BANK_CODE_1), "Adalberto");
- Client client_2 = new Client(Bank.getBankByCode(BANK_CODE_1), "Advolino");
- Client client_3 = new Client(Bank.getBankByCode(BANK_CODE_2), "Tiburcio");
- Client client_4 = new Client(Bank.getBankByCode(BANK_CODE_2), "Isaias");
- Account account_1 = new Account(bank_1, client_1);
- Account account_2 = new Account(bank_1, client_2);
- Account account_3 = new Account(bank_2, client_3);
- Account account_4 = new Account(bank_2, client_4);
- account_1.deposit(100);
- account_1.withdraw(1);
- account_2.deposit(1500);
- account_2.deposit(1500);
- account_2.withdraw(10);
- account_3.deposit(2);
- account_3.withdraw(1);
- account_4.deposit(2);
- account_4.withdraw(1);
- }
- @Atomic(mode = TxMode.READ)
- public void atomicAssert() {
- Client client_1 = null;
- Client client_2 = null;
- Client client_3 = null;
- Client client_4 = null;
- Bank bank_1 = Bank.getBankByCode(BANK_CODE_1);
- Bank bank_2 = Bank.getBankByCode(BANK_CODE_2);
- for (Client c : Bank.getBankByCode("BK01").getClientSet()) {
- if(c.getName().equals("Adalberto")){
- client_1 = c;
- }
- if(c.getName().equals("Advolino")){
- client_2 = c;
- }
- if(c.getName().equals("Tiburcio")){
- client_3 = c;
- }
- if(c.getName().equals("Isaias")){
- client_4 = c;
- }
- }
- for (Client c : Bank.getBankByCode("BK02").getClientSet()) {
- if(c.getName().equals("Adalberto")){
- client_1 = c;
- }
- if(c.getName().equals("Advolino")){
- client_2 = c;
- }
- if(c.getName().equals("Tiburcio")){
- client_3 = c;
- }
- if(c.getName().equals("Isaias")){
- client_4 = c;
- }
- }
- for (Account a : Bank.getBankByCode("BK01").getAccountSet()) {
- if(a.getClient().getName().equals("Adalberto")){
- Account account_1 = a;
- }
- if(a.getClient().getName().equals("Advolino")){
- Account account_2 = a;
- }
- if(a.getClient().getName().equals("Tiburcio")){
- Account account_5 = a;
- }
- }
- for (Account a : Bank.getBankByCode("BK02").getAccountSet()) {
- if(a.getClient().getName().equals("Tiburcio")){
- Account account_3 = a;
- }
- if(a.getClient().getName().equals("Isaias")){
- Account account_4 = a;
- }
- if(a.getClient().getName().equals("Adalberto")){
- Account account_6 = a;
- }
- }
- assertEquals("Money", bank_1.getName());
- assertEquals("Capital", bank_2.getName());
- assertEquals(BANK_CODE_1, bank_1.getCode());
- assertEquals(BANK_CODE_2, bank_2.getCode());
- assertTrue(bank_1.hasClient(client_1));
- assertTrue(bank_1.hasClient(client_2));
- assertTrue(bank_2.hasClient(client_3));
- assertTrue(bank_2.hasClient(client_4));
- assertEquals(bank_1.getAccount("BK015").getClient().getName(), "Adalberto");
- assertEquals(bank_1.getAccount("BK016").getClient().getName(), "Advolino");
- assertEquals(bank_1.getAccount("BK015").getBalance(), 99);
- assertEquals(bank_1.getAccount("BK016").getBalance(), 2990);
- }
- @After
- @Atomic(mode = TxMode.WRITE)
- public void tearDown() {
- for (Bank bank : FenixFramework.getDomainRoot().getBankSet()) {
- bank.delete();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement