- Projetar testes uniários para uma terceira equipe implementar
-
Receber uma string contendo uma expressão matemática em notação polonesa reversa e retornar o valor de resultado da expressão.
-
Exemplos "3 2 5 + *" => 21
- segunda-feira 25-09
- forkar este repositório
- atualizar README.md com
- equipe (lembrar de colocar link para o github dos membros)
- tecnologia usada
- plano de teste (definir se vai usar top-down ou bottom-up)
- implementar os testes unitários
- como executar teste
- apresentar em sala o plano de teste
- quinta-feira 28-09
- sortear repositório e equipe
- forkar repositório
- desenvolver solução para os testes
- apresentar plano de teste e solução
- equipe ( Yuri Jordan, Thomas Nogueira )
- Java 8 com JUnit Versão 4, IDE Netbeans 8.2, SO Windows 10.
- plano de teste (bottom-up)
- implementar os testes unitários
- como executar teste
- Projetar testes uniários para uma terceira equipe implementar
-
Receber uma string contendo uma expressão matemática em notação polonesa reversa e retornar o valor de resultado da expressão.
-
Exemplos "3 2 5 + *" => 21
Entrada | Condição | Classes válidas | Classes inválidas |
---|---|---|---|
polonesa | É do tipo string. | (1) expressao(polonesa) == String | (4) expressao(polonesa) != String |
Dentro da string cada elemento é um número(s) inteiro com caractere(s) usados em expressões matemáticas: + - * / | (2) polonesa = "3 2 5 * +" | (5) polonesa = "3 2 5 * + d -" | |
A operação matemática RPN opera de forma que: o(s) número(s) é(são) inseridos numa pilha, quando algum caractere de expressão númerica é inserido, é calculado os dois últimos números (ou os primeiros da pilha), assim sucessivamente até que todos os números sejam calculados e retirada da pilha o resultado. | (3) polonesa = "5 1 2 + 4 × + 3 −" calculando = 5 + (1 + 2) × 4 - 3 | (6) polonesa = "5 1 2 + 4 × + 3 −" calculando = 5 + 1 + 8 - 3 |
Sequência | Entrada | Saída |
---|---|---|
1 - válida | "5 1 2 + 4 × + 3 −" | 14 |
2 - inválida | 5 | Lança uma exceção |
3 - válida | "3 2 5 * +" | 21 |
4 - inválida | "3 2 5 * + d -" | Lança uma exceção |
5 - válida | "5 1 2 + 4 × + 3 −" | 14 |
6 - inválida | "5 1 2 + 4 × + 3 −" | 11 |
Próximo valor | Operação | Pilha |
---|---|---|
5 | adicionar valor | 5 |
1 | adicionar valor | 5, 1 |
2 | adicionar valor | 5, 1, 2 |
+ | somar | 5, 3 |
4 | adicionar valor | 5, 3, 4 |
× | multiplicar | 5, 12 |
+ | somar | 17 |
3 | adicionar valor | 17, 3 |
− | subtrair | 14 |
Resultado 14 |
Utilizando o JUnit na IDE Netbeans
Utilizando o JUnit na IDE Eclipse
-
Crie um novo projeto Java com JUnit seguindo um dos tutoriais acima
-
Adicione uma biblioteca JUnit V4.x, ao classpath dele
-
Para poder testar é preciso fazer a classe de teste compilar. Então crie a classe "CalculadoraPosfixa" e implemente os casos de teste, o mais simples possível, até que passem.
-
Como forma de ajuda, já existe uma implementação para os testes, porém melhore-a, refatorando etc...