[Home]DojoDeveloppement/Mercredi23Mai2012

AgileFrance | DojoDeveloppement | DernieresNouvelles | Preferences | AideEnLigne

Participants :

Rétrospective de la session du /Mercredi16Mai2012 :

Propositions pour ce soir :


Le code de la soirée :
src/net/jonathanperret/dojo/Probleme.java
package net.jonathanperret.dojo;

import java.util.HashMap;
import java.util.Map;

public class Probleme {

	private final Map<String, Integer> aretes = new HashMap<String, Integer>();

	public void ajouteArete(final String noeud1, final String noeud2, final int cout) {
		aretes.put(noeud1 + noeud2, cout);
	}

	public int getCout(final String noeud1, final String noeud2) {
		return aretes.get(noeud1 + noeud2);
	}

}

src/net/jonathanperret/dojo/ProblemeDrhTest.java
package net.jonathanperret.dojo;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class ProblemeDrhTest {

	@Test
	public void coutEvaluationSolutionEgalSommeDesArêtesAjoutees1() {
		Probleme probleme = new Probleme();
		probleme.ajouteArete("A", "B", 10);
		Solution solution = new Solution(probleme);
		solution.ajouteArete("A", "B");
		assertEquals(10, solution.evalue());
	}

	@Test
	public void coutEvaluationSolutionEgalSommeDesArêtesAjoutees2() {
		Probleme probleme = new Probleme();
		probleme.ajouteArete("A", "B", 15);
		Solution solution = new Solution(probleme);
		solution.ajouteArete("A", "B");
		assertEquals(15, solution.evalue());
	}

	@Test
	public void uneSolutionADeuxAretesFaitLaSommeDesCouts() {
		Probleme probleme = new Probleme();
		probleme.ajouteArete("A", "B", 15);
		probleme.ajouteArete("C", "D", 10);
		Solution solution = new Solution(probleme);
		solution.ajouteArete("A", "B");
		assertEquals(15, solution.evalue());

	}
}

src/net/jonathanperret/dojo/Solution.java
package net.jonathanperret.dojo;

public class Solution {

	private final Probleme probleme;
	private String noeud2;
	private String noeud1;

	public Solution(final Probleme probleme) {
		this.probleme = probleme;
	}

	public int evalue() {
		return probleme.getCout(noeud1, noeud2);
	}

	public void ajouteArete(final String noeud1, final String noeud2) {
		this.noeud1 = noeud1;
		this.noeud2 = noeud2;
	}

}

AgileFrance | DojoDeveloppement | DernieresNouvelles | Preferences | AideEnLigne
Edit this page | View other revisions
Last edited May 23, 2012 8:32 pm (diff)
Search: