Instruções
Construir um Programa de Gerenciamento de Conta Bancária
Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratório.
Histórias de Usuário:
1. Você deve definir uma classe chamada
BankAccount com um construtor. O construtor deve definir o balance padrão como 0 e inicializar um array vazio chamado transactions para armazenar registros de transações como objetos.
2. Cada transação armazenada no array transactions deve ser um objeto com duas propriedades: type e amount. A propriedade type deve ser deposit ou withdraw, e a propriedade amount deve ser o valor depositado ou retirado.
3. Você deve definir um método chamado deposit que recebe o valor do depósito como parâmetro. Quando o valor do depósito for maior que 0, deve:
- Adicione um novo objeto ao array transactions com um tipo
deposite o valor depositado. - Atualize o saldo.
- Retorna
"Successfully deposited $[amount]. New balance: $[balance]".
0, o método deposit deve retornar "O valor do depósito deve ser maior que zero.".
5. Você deve definir um método chamado withdraw que recebe um valor como parâmetro. Este método deve atualizar o saldo atual de acordo com os saques. Quando o valor a ser retirado for maior que 0 e menor ou igual ao saldo atual, deve-se:
- Adicione um novo objeto ao array transactions com um tipo
withdrawe o valor retirado. - Atualize o saldo.
- Retorna
"Successfully withdrew $[amount]. New balance: $[balance]".
0 ou maior que o saldo atual, o método withdraw deve retornar "Saldo insuficiente ou valor inválido.".
7. Você deve definir um método chamado checkBalance que retorne o saldo atual no formato "Saldo atual: R$[balance]".
8. Você deve definir um método chamado listAllDeposits que itere pelo array de transações e retorne todos os depósitos no formato "Deposits: amount,amount,...".
9. Você deve definir um método chamado listAllWithdrawals que itere pelo array de transações e retorne todos os saques no formato "Withdrawals: amount,amount,...".
10. Você deve criar uma nova instância de BankAccount chamada myAccount.
11. Sua conta bancária myAccount deve ter pelo menos cinco transações.
12. Sua conta bancária myAccount deve ter pelo menos dois depósitos.
13. Sua conta bancária myAccount deve ter pelo menos dois saques.
14. Sua conta bancária myAccount deve ter um saldo maior que $100.
O que fazer:
Testes:
- Você deve definir uma classe chamada `BankAccount`.
- O objeto `BankAccount` deve inicialmente ter um `balance` de `0` e um array vazio `transactions` para armazenar os registros de transações.
- Você deve ter um método `deposit` que recebe o valor do depósito como parâmetro.
- Você deve ter um método `withdraw` que receba o valor do saque como parâmetro.
- Você deve ter um método `checkBalance` que verifica o saldo atual.
- Você deve ter um método `listAllDeposits` que liste todos os depósitos.
- Você deve ter um método `listAllWithdrawals` que liste todas as retiradas.
- "`BankAccount.deposit(100)` deve retornar `"Depósito de $100 realizado com sucesso."` Novo saldo: $100`.
- `BankAccount.deposit(-50)` deve retornar `"O valor do depósito deve ser maior que zero."`.
- `BankAccount.deposit(0)` deve retornar `"O valor do depósito deve ser maior que zero."`.
- Quando o saldo da conta é `100`, `BankAccount.withdraw(150)` deve retornar `"Saldo insuficiente ou valor inválido."`.
- `BankAccount.withdraw(-50)` deve retornar `"Saldo insuficiente ou valor inválido."`.
- `BankAccount.withdraw(0)` deve retornar `"Saldo insuficiente ou valor inválido."`.
- Quando o saldo da conta é `200`, `BankAccount.withdraw(150)` deve retornar `"Retirou com sucesso $150."` Novo saldo: $50`.
- Quando o saldo da conta é `200`, `BankAccount.checkBalance()` deve retornar `"Saldo atual: R$200"`.
- Quando você depositar `10`, `35`, `90`, o método `listAllDeposits` deve retornar `"Depósitos: 10,35,90"`.
- Quando você sacar `20`, `50`, `100`, o método `listAllWithdrawals` deve retornar `"Withdrawals: 20,50,100"`.
- Você deve ter uma instância de `BankAccount` chamada `myAccount`.
- Sua conta bancária `myAccount` deve ter pelo menos cinco transações.
- Sua conta bancária `myAccount` deve ter pelo menos dois depósitos.
- Sua conta bancária `myAccount` deve ter pelo menos dois saques.
- Sua conta bancária `myAccount` deve ter um saldo maior que `$100`.
Preview