Classe Teste com Junit

0 respostas
C

E ae pessoal, blz.

Caros, estou fazendo um trabalho tenebroso em java, estou aprendendo, e me deparei agora em testar as classes com JUnit
Só que tenho de testar um array e ordem crescente e descrecente, utilizando a classe Sort.

public class BubbleSortAscendingStrategy extends DCOOSortTestTemplate {

	@Override
	protected boolean compare(int a, int b) {

		return false;
	}


}
public interface DCOOSort {

	void sort();

	void initArray(int[]a);

	void print();
}
public class DCOOSortFactory {
	public DCOOSort getSorter(String s) {
		if("select".equals(s)){
			return new SelectionSortStrategy();
		}
		
		return null;
	}
}
public abstract class DCOOSortTemplate implements DCOOSort {

	protected int[] vet;

	public void initArray(int[] a) {
		vet = a;
	}

	public void print() {

		for (int i = 0; i < vet.length; i++) {
			System.out.printf("%5d");
		}
		System.out.println();
	}

	protected abstract void processArray();
	
	public void sort (){
		processArray();
		print();
	}
	

}
public abstract class DCOOSortTestTemplate extends DCOOSortTemplate {

	@Override
	protected void processArray() {

	}

	protected abstract boolean compare(int a, int b);

}
public class SelectionSortStrategy extends DCOOSortTemplate {

	@Override
	protected void processArray() {
		int menor, x;
		for (int i = 0; i < vet.length-1; i++) {
			menor = i;
			x = vet[i];
			for (int j=i+1; j <vet.length; j++ ){
				if(vet[j]<x){
					menor = j;
					x = vet[j];
				}
			}
			vet[menor] = vet[i];
			vet[i] = x;
	
		}
	}
		
	public void sort() {
		
	}
Bom aqui fiz uma classe de teste informando um array de entrada e o esperado.
public class DCOOSortTest {

	@Test
	public void testSelectSort() {
		int[] entrada = { 1,3,4,7 };
		int[] esperado = { 1, 3, 4, 7 };
		DCOOSort alg = new DCOOSortFactory().getSorter("select");
		alg.sort();
		
		assertArrayEquals(esperado,entrada);
		
	}

}

Até agora show, mas empaquei em como tratar uma classe Test utilizando o BubbleSortAscendingStrategy por exemplo.Ele me disse que teria de informar o array e ele testar o esperado em ordem crescente.Puts ai eu pirei na batatinha.

Alguém pode me orientar...sendo mais simples possível

Obrigado

Criado 22 de maio de 2013
Respostas 0
Participantes 1