Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 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_1.deposit(100);
  41. account_1.withdraw(1);
  42. account_2.deposit(1500);
  43. account_2.deposit(1500);
  44. account_2.withdraw(10);
  45. account_3.deposit(2);
  46. account_3.withdraw(1);
  47. account_4.deposit(2);
  48. account_4.withdraw(1);
  49.  
  50. }
  51.  
  52. @Atomic(mode = TxMode.READ)
  53. public void atomicAssert() {
  54. Client client_1 = null;
  55. Client client_2 = null;
  56. Client client_3 = null;
  57. Client client_4 = null;
  58.  
  59. Bank bank_1 = Bank.getBankByCode(BANK_CODE_1);
  60. Bank bank_2 = Bank.getBankByCode(BANK_CODE_2);
  61.  
  62. for (Client c : Bank.getBankByCode("BK01").getClientSet()) {
  63. if(c.getName().equals("Adalberto")){
  64. client_1 = c;
  65. }
  66. if(c.getName().equals("Advolino")){
  67. client_2 = c;
  68. }
  69. if(c.getName().equals("Tiburcio")){
  70. client_3 = c;
  71. }
  72. if(c.getName().equals("Isaias")){
  73. client_4 = c;
  74. }
  75. }
  76. for (Client c : Bank.getBankByCode("BK02").getClientSet()) {
  77. if(c.getName().equals("Adalberto")){
  78. client_1 = c;
  79. }
  80. if(c.getName().equals("Advolino")){
  81. client_2 = c;
  82. }
  83. if(c.getName().equals("Tiburcio")){
  84. client_3 = c;
  85. }
  86. if(c.getName().equals("Isaias")){
  87. client_4 = c;
  88. }
  89. }
  90. for (Account a : Bank.getBankByCode("BK01").getAccountSet()) {
  91. if(a.getClient().getName().equals("Adalberto")){
  92. Account account_1 = a;
  93. }
  94. if(a.getClient().getName().equals("Advolino")){
  95. Account account_2 = a;
  96. }
  97. if(a.getClient().getName().equals("Tiburcio")){
  98. Account account_5 = a;
  99. }
  100. }
  101.  
  102. for (Account a : Bank.getBankByCode("BK02").getAccountSet()) {
  103. if(a.getClient().getName().equals("Tiburcio")){
  104. Account account_3 = a;
  105. }
  106. if(a.getClient().getName().equals("Isaias")){
  107. Account account_4 = a;
  108. }
  109. if(a.getClient().getName().equals("Adalberto")){
  110. Account account_6 = a;
  111. }
  112. }
  113.  
  114. assertEquals("Money", bank_1.getName());
  115. assertEquals("Capital", bank_2.getName());
  116.  
  117. assertEquals(BANK_CODE_1, bank_1.getCode());
  118. assertEquals(BANK_CODE_2, bank_2.getCode());
  119.  
  120. assertTrue(bank_1.hasClient(client_1));
  121. assertTrue(bank_1.hasClient(client_2));
  122. assertTrue(bank_2.hasClient(client_3));
  123. assertTrue(bank_2.hasClient(client_4));
  124.  
  125. assertEquals(bank_1.getAccount("BK015").getClient().getName(), "Adalberto");
  126. assertEquals(bank_1.getAccount("BK016").getClient().getName(), "Advolino");
  127.  
  128. assertEquals(bank_1.getAccount("BK015").getBalance(), 99);
  129. assertEquals(bank_1.getAccount("BK016").getBalance(), 2990);
  130. }
  131.  
  132. @After
  133. @Atomic(mode = TxMode.WRITE)
  134. public void tearDown() {
  135. for (Bank bank : FenixFramework.getDomainRoot().getBankSet()) {
  136. bank.delete();
  137. }
  138. }
  139.  
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement