Ir ao conteúdo
  • Cadastre-se

Teste de programas em java, Junit com numero ordenados.


Posts recomendados

Ola boa tarde,estou cursando um tecnico informatica, e estamos aprendendo a testa programas em java, o programa é esse

public
class
bolha
{

public
static
void
main
(
String
[]
args
)
{

// valores a serem ordenados

int
vetor
[]
=
{
7
,
3
,
9
,
1
,
10
};

int
temp
;

int
contador
=
1
;
do
{

for
(
int
i
=
0
;
i
<
vetor
.
length
-
1
;
i
++){

if
(
vetor
[
i
]
>
vetor
[
i
+
1
]){

temp
=
vetor
[
i
];

vetor
[
i
]
=
vetor
[
i
+
1
];

vetor
[
i
+
1
]
=
temp
;

}

}

contador
++;

}
while
(
contador
<
vetor
.
length
);
// exibe os números na tela

String
numerosOrdenados
=
""
;

for
(
int
n
:
vetor
)
{

numerosOrdenados
+=
n
+
"-"
;

}

System
.
out
.
print
(
numerosOrdenados
);

}

tenho que fazer o teste com j unit, numero ordenados, gente ja procurei na net e só acho exemplos simples ae eu sei fazer , agora com numero ordenado nao, fico no aguardo de uma luz! :S Obrigado

Link para o comentário
Compartilhar em outros sites

Então, precisa ser simples mesmo, se a sua lógica de teste for muito complicada, não terá certeza se o seu teste está validando o teu código com maior precisão possível e ainda, gastará tempo preocupado em montar teste.

Segue um exemplo bem besta que funciona, que não custou nem 10s pra montar:

 

<code>

 
@Test
public void testaOrdenacao(){
// valores a serem ordenados
int vetor[] = {7,3,9,1,10};
int vetorOrdenado[] = null;
 
vetorOrdenado[] = ordenaValores(vetor);
 
//Ordem esperado: 1,3,7,9,10
//ou seja, primeiro índice é 1, depois o 3, etc...
Assert.notNull(vetor);
Assert.equals(vetor[0],1);
Assert.equals(vetor[1],3);
Assert.equals(vetor[2],7);
Assert.equals(vetor[3],9);
Assert.equals(vetor[4],10);
 
}

</code>

Link para o comentário
Compartilhar em outros sites

Então, precisa ser simples mesmo, se a sua lógica de teste for muito complicada, não terá certeza se o seu teste está validando o teu código com maior precisão possível e ainda, gastará tempo preocupado em montar teste.

Segue um exemplo bem besta que funciona, que não custou nem 10s pra montar:

 

<code>

 
@Test
public void testaOrdenacao(){
// valores a serem ordenados
int vetor[] = {7,3,9,1,10};
int vetorOrdenado[] = null;
 
vetorOrdenado[] = ordenaValores(vetor);
 
//Ordem esperado: 1,3,7,9,10
//ou seja, primeiro índice é 1, depois o 3, etc...
Assert.notNull(vetor);
Assert.equals(vetor[0],1);
Assert.equals(vetor[1],3);
Assert.equals(vetor[2],7);
Assert.equals(vetor[3],9);
Assert.equals(vetor[4],10);
 
}

</code>

obrigado amigo pelo cod só que ta dando um erro que só é possível gravar no array e não ler

vetorOrdenado[] = ordenaValores(vetor) 

eu sou iniciante então nao conseguir resolver, pode me ajudar?

Link para o comentário
Compartilhar em outros sites

Criei duas classes o Ordenador e o TestaOrdenador

  package clubedohardware; import org.junit.Assert;import org.junit.Test; public class TestaOrdenador { @Testpublic void testaOrdenaVetor(){// valores a serem ordenadosint vetor[] = {7,3,9,1,10};int vetorOrdenado[] = null; vetorOrdenado = Ordenador.ordenaVetor(vetor); //Ordem esperado: 1,3,7,9,10//ou seja, primeiro índice é 1, depois o 3, etc...Assert.assertNotNull(vetorOrdenado);Assert.assertEquals(vetorOrdenado[0],1);Assert.assertEquals(vetorOrdenado[1],3);Assert.assertEquals(vetorOrdenado[2],7);Assert.assertEquals(vetorOrdenado[3],9);Assert.assertEquals(vetorOrdenado[4],10);}}  package clubedohardware; public class Ordenador {public static int[] ordenaVetor(int[] vetor){//int vetor[] = {7,3,9,1,10};int temp;int contador = 1; do{for (int i=0; i < vetor.length -1; i++){if (vetor[i] > vetor [i+1]){temp = vetor[i];vetor[i] = vetor[i+1];vetor[i+1] = temp;}}contador++;} while (contador < vetor.length); // exibe os números na telaString numerosOrdenados = "";for (int n : vetor) {numerosOrdenados += n+"-";}return vetor;}} 

 

E a sua implementação passou no teste haha

Link para o comentário
Compartilhar em outros sites

Criei duas classes o Ordenador e o TestaOrdenador

  package clubedohardware; import org.junit.Assert;import org.junit.Test; public class TestaOrdenador { @Testpublic void testaOrdenaVetor(){// valores a serem ordenadosint vetor[] = {7,3,9,1,10};int vetorOrdenado[] = null; vetorOrdenado = Ordenador.ordenaVetor(vetor); //Ordem esperado: 1,3,7,9,10//ou seja, primeiro índice é 1, depois o 3, etc...Assert.assertNotNull(vetorOrdenado);Assert.assertEquals(vetorOrdenado[0],1);Assert.assertEquals(vetorOrdenado[1],3);Assert.assertEquals(vetorOrdenado[2],7);Assert.assertEquals(vetorOrdenado[3],9);Assert.assertEquals(vetorOrdenado[4],10);}}  package clubedohardware; public class Ordenador {public static int[] ordenaVetor(int[] vetor){//int vetor[] = {7,3,9,1,10};int temp;int contador = 1; do{for (int i=0; i < vetor.length -1; i++){if (vetor[i] > vetor [i+1]){temp = vetor[i];vetor[i] = vetor[i+1];vetor[i+1] = temp;}}contador++;} while (contador < vetor.length); // exibe os números na telaString numerosOrdenados = "";for (int n : vetor) {numerosOrdenados += n+"-";}return vetor;}} 

E a sua implementação passou no teste haha

mais uma vez muito obrigado,

e quando voce disse para criar duas classes, ficaria assim mesmo uma de baixo da outra?

porque da erro aqui 

 

 

public class Ordenador {

 

esse e o erro

class is public should be declared in a file named

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!