There was a problem fetching linked pipelines.
Commit 5d141915 authored by Henri dos Santos's avatar Henri dos Santos
Browse files

Operações Aritméticas

parents
No related merge requests found
Pipeline #39768 failed with stages
in 50 seconds
Showing with 250 additions and 0 deletions
+250 -0
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store
\ No newline at end of file
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/calculadora" vcs="Git" />
</component>
</project>
\ No newline at end of file
# Calculadora
Como exercício para a aula de hoje deve ser implementado uma calculadora. Todas as operações pedidas devem receber dois números e retornar o resultado da operação. As operações necessárias serão:
* Subtração
* Soma
* Multiplicação
* Divisão
# ATENÇÃO:
* Exceto nos desafios, deve ser utilizado apenas o que foi visto em aula! Não se apressem, tudo terá seu tempo.
* Para os desafios, pesquisar sobre a classe Math.
# Exemplo de Teste
``` Java
@Test
public void deveSomarCorretamenteQuandoOsValoresForemInteiros(){
//Arrange
double valor1 = 2;
double valor2 = 2;
double resultadoEsperado = 4;
Calculadora calculadora = new Calculadora();
//Act
double valorCalculado = calculadora.soma(valor1, valor2);
//Assert
Assert.assertEquals(resultadoEsperado, valorCalculado, 0.01);
}
```
# Desafios Opcionais
`Desafio 1 (opcional)`
Quem achar que está muito fácil pode fazer também os métodos de raiz quadrada e exponenciação.
`Desafio 2 (opcional)`
Quem tá vivendo no modo insane pode tentar desenvolver o método de bhaskara. O método deve receber os valores de `a`, `b` e `c` e retornar a `soma` de x' e x''.
# Referências
[Tutorial sobre Teste Unitário](https://github.com/AlexandreSNeto/testes-com-mockito)
## Testes Obrigatórios
* Devem existir **obrigatóriamente** na solução entregue testes unitários com os seguintes nomes:
- deveSomarCorretamenteQuandoOsValoresForemInteiros
- deveDividirCorretamenteQuandoNumerosForemInteiros
- deveMultiplicarCorretamenteQuandoNumerosForemInteiros
- deveDividirCorretamenteQuandoNumerosPossuemPontosFlutuantes
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Calculadora</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
public class Calculadora {
public double somar(double a, double b) {
return a + b;
}
public double subtrair(double a, double b) {
return a - b;
}
public double multiplicar(double a, double b) {
return a * b;
}
public double dividir(double a, double b) {
if (b == 0) {
System.out.println("Divisão por zero não é permitida.");
}
return a / b;
}
}
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class CalculadoraTest {
@Test
public void deveSomarCorretamenteQuandoOsValoresForemInteiros() {
// arrange
double valor1 = 7.05;
double valor2 = 5.05;
double resultadoEsperado = 12.1;
Calculadora calculadora = new Calculadora();
// act
double valorCalculado = calculadora.somar(valor1, valor2);
// assert
assertEquals(resultadoEsperado, valorCalculado, 0.01);
}
@Test
public void deveSubtrairCorretamenteQuandoOsValoresForemInteiros() {
// arrange
double valor1 = 66.77;
double valor2 = 33.33;
double resultadoEsperado = 33.44;
Calculadora calculadora = new Calculadora();
// act
double valorCalculado = calculadora.subtrair(valor1, valor2);
// assert
assertEquals(resultadoEsperado, valorCalculado, 0.01);
}
@Test
public void deveMultiplicarCorretamenteQuandoNumerosForemInteiros() {
// arrange
double valor1 = 99.1;
double valor2 = 10;
double resultadoEsperado = 991;
Calculadora calculadora = new Calculadora();
// act
double valorCalculado = calculadora.multiplicar(valor1, valor2);
// assert
assertEquals(resultadoEsperado, valorCalculado, 0.01);
}
@Test
public void deveDividirCorretamenteQuandoNumerosForemInteiros() {
// Arrange
double valor1 = 7;
double valor2 = 3.5;
double resultadoEsperado = 2;
Calculadora calculadora = new Calculadora();
// act
double valorCalculado = calculadora.dividir(valor1, valor2);
// assert
assertEquals(resultadoEsperado, valorCalculado, 0.01);
}
@Test
public void deveDividirCorretamenteQuandoNumerosPossuemPontosFlutuantes() {
// arrange
double valor1 = 22.5;
double valor2 = 4.5;
double resultadoEsperado = 5.0;
Calculadora calculadora = new Calculadora();
// act
double valorCalculado = calculadora.dividir(valor1, valor2);
// assert
assertEquals(resultadoEsperado, valorCalculado, 0.01);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment