Bonjour,

Je suis entrain de faire des tests unitaires et je ne vois pas trop comment tester ces deux méthode avec le assertEquals:
- joursFeries
- construireCalendrier

Par ailleurs, pouvez-me dire si c'est judicieux de mettre la méthode getJoursOuvrable dans cette classe comme on lui passe un JTable et autre chose ou plutôt dans la vue. Il s'agit du modèle que je vous présente ici.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
public class CalendrierModele {
	/**
         * Méthode qui retourne les jours fériés
         * @param annee
         */
	private void joursFeries(Annee annee){
		int anneeChoisit = annee.anneeChoisit(annee);
 
		// On passe l'année choisit au calendar
	    Calendar calendar = Calendar.getInstance();
	    calendar.set(Calendar.YEAR, anneeChoisit);
 
        // On constitue la liste des jours fériés
        List<Calendar> joursFeries = new ArrayList<Calendar>();
 
        // On recherche les jours fériés de l'année passée en paramètre
        Calendar jourFerie = Calendar.getInstance();
        jourFerie = (Calendar) calendar.clone();
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.NOVEMBER, 1);
        joursFeries.add((Calendar) jourFerie.clone());
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.NOVEMBER, 11);
        joursFeries.add((Calendar) jourFerie.clone());
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.DECEMBER, 25);
        joursFeries.add((Calendar) jourFerie.clone());
 
        //On ajoute 1 à l'année choisit
        jourFerie.add(Calendar.YEAR, 1);
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.JANUARY, 1);
        joursFeries.add((Calendar) jourFerie.clone());
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.MAY, 1);
        joursFeries.add((Calendar) jourFerie.clone());
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.MAY, 8);
        joursFeries.add((Calendar) jourFerie.clone());
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.JULY, 14);
        joursFeries.add((Calendar) jourFerie.clone());
 
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.AUGUST, 15);
        joursFeries.add((Calendar) jourFerie.clone());
    }
 
	/**
         * Méthode qui permet de construire le calendrier pour une année scolaire
         * @param uneAnnee
         * @return calendar
         */
	public Calendar construireCalendrier(Annee uneAnnee){
		int anneeChoisit;
		int anneeActuelle;
		int anneeDefinitif;
		Calendar calendar;
 
		//Convertion de l'année choisit pour la création du calendrier en entier
		anneeChoisit = uneAnnee.anneeChoisit(uneAnnee);
 
		//Récupération de l'année actuelle
        calendar = Calendar.getInstance();
		anneeActuelle = calendar.get(Calendar.YEAR);
 
		//Comparaison de l'année actuelle avec l'année choisit
		//Si l'année actuelle est avant l'année choisit, on ajoute des années à l'année actuelle pour créer le calendrier
		//Si l'année actuelle est après l'année choisit, on enlève des années à l'année actuelle pour créer le calendrier
		if(anneeActuelle < anneeChoisit){
			anneeDefinitif = anneeChoisit - anneeActuelle; 
			calendar.add(Calendar.YEAR, +anneeDefinitif);
		}else if(anneeActuelle > anneeChoisit){
			anneeDefinitif = anneeActuelle - anneeChoisit;
			calendar.add(Calendar.YEAR, -anneeDefinitif);
		}else{
			calendar.add(Calendar.YEAR, 0);
		}
 
		// on se positionne sur le mois de septembre    	   
        calendar.set(Calendar.MONTH,Calendar.SEPTEMBER); 
 
        // on se positionne sur la première semaine du mois
        calendar.set(Calendar.WEEK_OF_MONTH, 1); 
 
        // on se positionne sur le premier jour officiel
        calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
 
		return calendar;
	}
 
	/**
         * Méthode qui gère les jours ouvrés
         */
	public void getJoursOuvrable(JTable table, CalendrierTableModele tableModel, Calendrier calendrier){
		JTableRender mcr = new JTableRender();
 
		if(calendrier.getSamediOuvrable() == true){
			table.getColumnModel().getColumn(5).setCellRenderer(mcr);
			tableModel.isCellEditable(0, 5);
		}
 
		if(calendrier.getDimancheOuvrable() == true){
			table.getColumnModel().getColumn(6).setCellRenderer(mcr);
			tableModel.isCellEditable(0, 6);
		}
 
		if(calendrier.getFerieOuvrable() == true){
			joursFeries(calendrier.getUneAnnee());
			//COMMENT FAIRE POUR GRISER LES CASES DONT LES JOURS SONT FERIES
		}
	}
 
Merci d'avance
}