package ex03;

import java.util.ArrayList;
import java.util.Comparator;

import org.junit.Test;


public class NotaAlunoTest
{
	private static final Comparator<? super NotaAluno<Double>> NotaAluno = null;
	private ArrayList<NotaAluno<Double>> notas;
	
	/**
	 * Construtor
	 */
	public NotaAlunoTest ()
	{
		notas = new ArrayList<NotaAluno<Double>>();
	}
	
	/**
	 * Adiciona uma nota no banco de notas
	 * @param nota   a nota
	 */
	public void addNota ( NotaAluno<Double> nota )
	{
		notas.add(nota);
	}	
	
	/**
	 * Cria 5 notas de alunos para adicionar no
	 * banco de notas
	 */
	public void preencheNotas ()
	{
		NotaAluno<Double> nota1 = new NotaAluno<Double>(1, "Gabriel");
		NotaAluno<Double> nota2 = new NotaAluno<Double>(2, "José");
		NotaAluno<Double> nota3 = new NotaAluno<Double>(3, "Maria");
		NotaAluno<Double> nota4 = new NotaAluno<Double>(4, "João");
		NotaAluno<Double> nota5 = new NotaAluno<Double>(5, "Felipe");
		
		nota2.setNotas(100, 99, 89);
		nota3.setNotas(68.4, 75.3, 71.4);
		nota1.setNotas(20, 40, 80);
		nota4.setNotas(50, 60, 90);
		nota5.setNotas(100, 100, 100);
		
		this.addNota(nota1);
		this.addNota(nota2);
		this.addNota(nota3);
		this.addNota(nota4);
		this.addNota(nota5);
	}
	
	@Test
	public void testSort()
	{
		this.preencheNotas();
		notas.sort(NotaAluno);
		for ( NotaAluno<Double> nota : notas )
			System.out.println(nota.calcMedia());
	}

}
