Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. package pt.ulisboa.tecnico.softeng.bank.domain;
  2.  
  3. import static org.junit.Assert.assertEquals;
  4. import static org.junit.Assert.assertTrue;
  5. import static org.junit.Assert.assertNotNull;
  6.  
  7. import org.junit.After;
  8. import org.junit.Test;
  9.  
  10. import pt.ist.fenixframework.Atomic;
  11. import pt.ist.fenixframework.Atomic.TxMode;
  12. import pt.ist.fenixframework.FenixFramework;
  13.  
  14. public class BankPersistenceTest {
  15. private static final String BANK_CODE_1 = "BK01";
  16. private static final String BANK_CODE_2 = "BK02";
  17.  
  18. @Test
  19. public void success() {
  20. atomicProcess();
  21. atomicAssert();
  22. }
  23.  
  24. @Atomic(mode = TxMode.WRITE)
  25. public void atomicProcess() {
  26. Bank bank_1 = new Bank("Money", BANK_CODE_1);
  27. Bank bank_2 = new Bank("Capital", BANK_CODE_2);
  28.  
  29. Client client_1 = new Client(Bank.getBankByCode(BANK_CODE_1), "Adalberto");
  30. Client client_2 = new Client(Bank.getBankByCode(BANK_CODE_1), "Advolino");
  31.  
  32. Client client_3 = new Client(Bank.getBankByCode(BANK_CODE_2), "Tiburcio");
  33. Client client_4 = new Client(Bank.getBankByCode(BANK_CODE_2), "Isaias");
  34.  
  35. Account account_1 = new Account(bank_1, client_1);
  36. Account account_2 = new Account(bank_1, client_2);
  37. Account account_3 = new Account(bank_2, client_3);
  38. Account account_4 = new Account(bank_2, client_4);
  39.  
  40. Account account_5 = new Account(bank_1, client_1);
  41.  
  42. account_1.deposit(100);
  43. account_1.withdraw(1);
  44. account_2.deposit(1500);
  45. account_2.deposit(1500);
  46. account_2.withdraw(10);
  47. account_3.deposit(2);
  48. account_3.withdraw(1);
  49. account_4.deposit(2);
  50. account_4.withdraw(1);
  51. account_5.deposit(2);
  52. account_5.withdraw(1);
  53.  
  54. }
  55.  
  56. @Atomic(mode = TxMode.READ)
  57. public void atomicAssert() {
  58. Client client_1 = null;
  59. Client client_2 = null;
  60. Client client_3 = null;
  61. Client client_4 = null;
  62.  
  63. Bank bank_1 = Bank.getBankByCode(BANK_CODE_1);
  64. Bank bank_2 = Bank.getBankByCode(BANK_CODE_2);
  65.  
  66. for (Client c : Bank.getBankByCode("BK01").getClientSet()) {
  67. if(c.getName().equals("Adalberto")){
  68. client_1 = c;
  69. }
  70. if(c.getName().equals("Advolino")){
  71. client_2 = c;
  72. }
  73. if(c.getName().equals("Tiburcio")){
  74. client_3 = c;
  75. }
  76. if(c.getName().equals("Isaias")){
  77. client_4 = c;
  78. }
  79. }
  80. for (Client c : Bank.getBankByCode("BK02").getClientSet()) {
  81. if(c.getName().equals("Adalberto")){
  82. client_1 = c;
  83. }
  84. if(c.getName().equals("Advolino")){
  85. client_2 = c;
  86. }
  87. if(c.getName().equals("Tiburcio")){
  88. client_3 = c;
  89. }
  90. if(c.getName().equals("Isaias")){
  91. client_4 = c;
  92. }
  93. }
  94. for (Account a : Bank.getBankByCode("BK01").getAccountSet()) {
  95. if(a.getClient().getName().equals("Adalberto")){
  96. Account account_1 = a;
  97. }
  98. if(a.getClient().getName().equals("Advolino")){
  99. Account account_2 = a;
  100. }
  101. }
  102.  
  103. for (Account a : Bank.getBankByCode("BK02").getAccountSet()) {
  104. if(a.getClient().getName().equals("Tiburcio")){
  105. Account account_3 = a;
  106. }
  107. if(a.getClient().getName().equals("Isaias")){
  108. Account account_4 = a;
  109. }
  110. }
  111.  
  112. assertEquals("Money", bank_1.getName());
  113. assertEquals("Capital", bank_2.getName());
  114.  
  115. assertEquals(BANK_CODE_1, bank_1.getCode());
  116. assertEquals(BANK_CODE_2, bank_2.getCode());
  117.  
  118. assertTrue(bank_1.hasClient(client_1));
  119. assertTrue(bank_1.hasClient(client_2));
  120. assertTrue(bank_2.hasClient(client_3));
  121. assertTrue(bank_2.hasClient(client_4));
  122.  
  123. assertEquals(bank_1.getAccount("BK015").getClient().getName(), "Adalberto");
  124. assertEquals(bank_1.getAccount("BK016").getClient().getName(), "Advolino");
  125. assertEquals(bank_1.getAccount("BK019").getClient().getName(), "Adalberto");
  126. assertEquals(bank_2.getAccount("BK017").getClient().getName(), "Tiburcio");
  127. assertEquals(bank_2.getAccount("BK018").getClient().getName(), "Isaias");
  128.  
  129. assertEquals(bank_1.getAccount("BK015").getBalance(), 99);
  130. assertEquals(bank_1.getAccount("BK016").getBalance(), 2990);
  131. assertEquals(bank_1.getAccount("BK019").getBalance(), 1);
  132. assertEquals(bank_2.getAccount("BK017").getBalance(), 1);
  133. assertEquals(bank_2.getAccount("BK018").getBalance(), 1);
  134. }
  135.  
  136. @After
  137. @Atomic(mode = TxMode.WRITE)
  138. public void tearDown() {
  139. for (Bank bank : FenixFramework.getDomainRoot().getBankSet()) {
  140. bank.delete();
  141. }
  142. }
  143.  
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement