package fr.eisti.arbre.test;

import java.util.*;
import java.io.Serializable;

import fr.eisti.transport.*;
import fr.eisti.arbre.*;

public class TestArbreVoiture {

	private static <V extends Comparable<V>&Serializable> void afficher(Arbre<V> arbre) {
		System.out.println(arbre.getValeur());
		if (arbre.aFilsGauche()) {
			System.out.println("G");
			afficher(arbre.getFilsGauche());
		}
		if (arbre.aFilsDroit()) {
			System.out.println("D");
			afficher(arbre.getFilsDroit());
		}
		System.out.println("Up");
	}
	
	public static void main(String[] args) {
		Arbre<Voiture> arbre = new Arbre<Voiture>(new Voiture("Fiat", "Palio", TypeMoteur.Gpl, 100));
		arbre.ajouter(new Voiture("Renault", "Clio", TypeMoteur.Essence, 198));
		arbre.ajouter(new Voiture("Renault", "Clio", TypeMoteur.Diesel, 105));
		arbre.ajouter(new Voiture("Renault", "Clio", TypeMoteur.Diesel, 85));
		
		// pour debugger 
		afficher(arbre);
		//
		
		System.out.println("----------------------");
		for (Voiture v : arbre) {
			System.out.println(v);
		}
	}
}
		