Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions src/test/java/cofre/CofreDestravadoSteps.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package cofre;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
*
* @author Aluno
*/
public class CofreDestravadoSteps {

public CofreDestravadoSteps(){
}

private SensorPorta sensorMock;
private Memoria memoriaMock;
private CofrePM cofrePM;

@Given("^que a porta esta aberta$")
public void que_a_porta_esta_aberta() throws Exception {
sensorMock = mock(SensorPorta.class);
memoriaMock = mock(Memoria.class);
cofrePM = new CofrePM(sensorMock, memoriaMock);
when(sensorMock.fechada())
.thenReturn(Boolean.FALSE);
}
@Given("^digitar (\\d+)$")
public void digitar(int arg1) throws Exception {
cofrePM.pressButton(arg1);
}
@When("^eu pressionar ok$")
public void eu_pressionar_ok() throws Exception {
cofrePM.ok();
}
@Then("^deve ser exibido no display \"([^\"]*)\"$")
public void deve_ser_exibido_no_display(String arg1) throws Exception {
assertEquals(arg1, cofrePM.getDisplay());
}
@Given("^que a porta esta fechada$")
public void que_a_porta_esta_fechada() throws Exception {
sensorMock = mock(SensorPorta.class);
memoriaMock = mock(Memoria.class);
cofrePM = new CofrePM(sensorMock, memoriaMock);
when(sensorMock.fechada())
.thenReturn(Boolean.TRUE);
}
@When("^eu ja tiver pressionado$")
public void eu_ja_tiver_pressionado() throws Exception {}

@Then("^deve ser exibido no display o numero \"([^\"]*)\"$")
public void deve_ser_exibido_no_display_o_numero(String arg1) throws Exception {
assertEquals(arg1, cofrePM.getDisplay());
}
@Given("^dado que a porta esta fechada e destravada$")
public void dado_que_a_porta_esta_fechada_e_destravada() throws Exception {
sensorMock = mock(SensorPorta.class);
memoriaMock = mock(Memoria.class);
cofrePM = new CofrePM(sensorMock, memoriaMock);
when(sensorMock.travada())
.thenReturn(Boolean.FALSE);
when(sensorMock.fechada())
.thenReturn(Boolean.TRUE);
}
@When("^eu abrir a porta$")
public void eu_abrir_a_porta() throws Exception {
when(sensorMock.fechada())
.thenReturn(Boolean.FALSE);
}
@When("^eu pressionar limpar$")
public void eu_pressionar_limpar() throws Exception {
cofrePM.clear();
}
}
47 changes: 47 additions & 0 deletions src/test/java/cofre/CofreTravadoSteps.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package cofre;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
*
* @author Aluno
*/
public class CofreTravadoSteps {

public CofreTravadoSteps(){
}

private SensorPorta sensorMock;
private Memoria memoriaMock;
private CofrePM cofrePM;

@Given("^dado que a porta esta fechada e travado com a senha$")
public void dado_que_a_porta_esta_fechada_e_travado_com_a_senha() throws Exception {
sensorMock = mock(SensorPorta.class);
memoriaMock = mock(Memoria.class);
cofrePM = new CofrePM(sensorMock, memoriaMock);
when(sensorMock.fechada())
.thenReturn(Boolean.TRUE);
when(sensorMock.travada())
.thenReturn(Boolean.TRUE);
when(memoriaMock.getSenha())
.thenReturn("123456");
}
@Given("^apertar (\\d+)$")
public void apertar(int arg1) throws Exception {
cofrePM.pressButton(arg1);
}
@When("^eu apertar ok$")
public void eu_apertar_ok() throws Exception {
cofrePM.ok();
}
@Then("^deve ser mostrado no display \"([^\"]*)\"$")
public void deve_ser_mostrado_no_display(String arg1) throws Exception {
assertEquals(arg1, cofrePM.getDisplay());
}
}
22 changes: 22 additions & 0 deletions src/test/java/cofre/Cucumber01Test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package cofre;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.runner.RunWith;

/**
*
* @author utfpr
*/
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty", "html:target/cucumber"})
public class Cucumber01Test {


@Test
public void test01() {

}
}
39 changes: 39 additions & 0 deletions src/test/java/cofre/ValidacaoSenhaSteps.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package cofre;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import static org.junit.Assert.assertEquals;

/**
*
* @author Aluno
*/
public class ValidacaoSenhaSteps {

public ValidacaoSenhaSteps(){
}

private String senha;
private boolean retorno;

@Given("^que a porta esta fechada e travada$")
public void que_a_porta_esta_fechada_e_travada() throws Exception {}

@Given("^eu entrei com a senha \"([^\"]*)\"$")
public void eu_entrei_com_a_senha(String arg1) throws Exception {
this.senha = arg1;
}
@When("^o sistema verifica a senha$")
public void o_sistema_verifica_a_senha() throws Exception {
this.retorno = ValidacaoHelper.ehNumero(this.senha);
}
@When("^o sistema verifica se eh valido$")
public void o_sistema_verifica_se_eh_valido() throws Exception {
this.retorno = ValidacaoHelper.ehSenhaValida(this.senha);
}
@Then("^o resultado deve ser \"([^\"]*)\"$")
public void o_resultado_deve_ser(String arg1) throws Exception {
assertEquals(this.retorno, Boolean.valueOf(arg1));
}
}
61 changes: 61 additions & 0 deletions src/test/resources/cofre/CofreDestravado.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# language: en
Feature: Acoes com o cofre destravado
Como um usuario
desejo realizar as acoes como travar o cofre ou fechar e abrir a porta
para guardar meus objetos

Scenario: Limpar a tela
Given dado que a porta esta fechada e destravada
And digitar 6
And digitar 7
When eu pressionar limpar
Then deve ser exibido no display ""

Scenario: Digitar a senha com a porta aberta
Given que a porta esta aberta
And digitar 1
And digitar 2
And digitar 3
And digitar 4
And digitar 5
And digitar 6
And digitar 7
And digitar 8
And digitar 9
When eu pressionar ok
Then deve ser exibido no display "Feche a porta antes de digitar a senha"

Scenario: Digitar um numero com a porta fechada
Given que a porta esta fechada
And digitar 0
When eu ja tiver pressionado
Then deve ser exibido no display o numero "0"

Scenario: Salvar senha com porta fechada e destravada
Given dado que a porta esta fechada e destravada
And digitar 1
And digitar 2
And digitar 3
And digitar 4
And digitar 5
And digitar 6
When eu pressionar ok
Then deve ser exibido no display "Senha salva. Cofre trancado"

Scenario: Travar porta com senha menor que 6 digitos
Given dado que a porta esta fechada e destravada
And digitar 1
And digitar 2
And digitar 3
And digitar 4
And digitar 5
When eu pressionar ok
Then deve ser exibido no display "senha precisa de 6 digitos. Tente novamente"

Scenario: Digitar a senha com a porta fechada e depois abrir e digitar novamente
Given dado que a porta esta fechada e destravada
And digitar 4
And digitar 5
When eu abrir a porta
And digitar 3
Then deve ser exibido no display "Feche a porta antes de digitar a senha"
36 changes: 36 additions & 0 deletions src/test/resources/cofre/CofreTravado.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# language: en
Feature: Acoes com o cofre travado
Como um usuario
desejo realizar as acoes como destravar o cofre
para pegar meus objetos

Scenario: Digitar senha errada
Given dado que a porta esta fechada e travado com a senha
And apertar 1
And apertar 2
And apertar 3
And apertar 4
And apertar 5
And apertar 5
When eu apertar ok
Then deve ser mostrado no display "senha errada. Tente novamente"

Scenario: Digitar senha menor que seis numeros
Given dado que a porta esta fechada e travado com a senha
And apertar 1
And apertar 3
And apertar 2
And apertar 5
When eu apertar ok
Then deve ser mostrado no display "senha errada. Tente novamente"

Scenario: Digitar senha correta
Given dado que a porta esta fechada e travado com a senha
And apertar 1
And apertar 2
And apertar 3
And apertar 4
And apertar 5
And apertar 6
When eu apertar ok
Then deve ser mostrado no display "senha correta. Cofre aberto"
31 changes: 31 additions & 0 deletions src/test/resources/cofre/ValidacaoSenha.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# language: en
Feature: Validar senha
O sistema valida a senha digitada
se sao numeros e o tamanho e igual a 6
para evitar que o usuario entre com um valor invalido

Scenario Outline: Validar se e numero
Given que a porta esta fechada e travada
And eu entrei com a senha <senha>
When o sistema verifica a senha
Then o resultado deve ser <res>

Examples:
| senha | res |
| "123" | "true" |
| "1234444" | "true" |
| "" | "false" |
| "123aaaa" | "false" |

Scenario Outline: Validar se eh valido
Given que a porta esta fechada e travada
And eu entrei com a senha <senha>
When o sistema verifica se eh valido
Then o resultado deve ser <res>

Examples:
|senha |res |
|"123456" |"true" |
|"12" |"false" |
|"1234" |"false" |
|"" |"false" |
Loading