Skip to content

Instantly share code, notes, and snippets.

@jotak
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jotak/0322332e338a759c56ef to your computer and use it in GitHub Desktop.
Save jotak/0322332e338a759c56ef to your computer and use it in GitHub Desktop.
Voitures bleues & mocking db
public class Persister {
public Collection<Voiture> query(String q) {
// get from DB
}
}
public class Voiture {
private final int couleur;
public Voiture(int couleur) {
this.couleur = couleur;
}
// equals/hashcode..
}
public class Voitures {
public final static int ROUGE = 0;
public final static int BLEU = 1;
private Persister persister = new Persister();
public Collection<Voiture> getVoituresBleues() {
return persister.query("voiture.is(BLEU)");
}
}
public class VoituresTest {
@Mock
final Persister persister;
@InjectMocks
final Voitures voitures;
@Test
public void shouldGetVoituresBleues1() {
when(persister.query(anyString())).thenReturn(Lists.newArrayList(
new Voiture(Voitures.BLEU),
new Voiture(Voitures.BLEU)
));
final Collection<Voiture> result = voitures.getVoituresBleues();
assertThat(result).containsExactly(new Voiture(Voitures.BLEU), new Voiture(Voitures.BLEU));
verify(persister).query("voiture.is(BLEU)");
}
}
public class Persister {
public Collection<Vehicule> query(String q) {
// get from DB
}
}
public class Vehicule {
private final int couleur;
// AJOUT DU TYPE!
private final int type;
public Vehicule(int type, int couleur) {
this.type = type;
this.couleur = couleur;
}
// equals/hashcode..
}
public class Vehicules {
public final static int ROUGE = 0;
public final static int BLEU = 1;
public final static int VOITURE = 0;
public final static int CAMION = 1;
private Persister persister = new Persister();
public Collection<Vehicule> getVoituresBleues() {
// Oubli de checker le type ici
return persister.query("vehicule.is(BLEU)");
}
}
public class VehiculesTest1 {
@Mock
final Persister persister;
@InjectMocks
final Vehicules vehicules;
@Test
// CE TEST ECHOUE A REPERER L'ERREUR
public void shouldGetVoituresBleues1() {
when(persister.query(anyString())).thenReturn(Lists.newArrayList(
new Vehicule(Vehicules.VOITURE, Vehicules.BLEU),
new Vehicule(Vehicules.VOITURE, Vehicules.BLEU)
));
final Collection<Vehicule> result = vehicules.getVoituresBleues();
assertThat(result).containsExactly(new Vehicule(Vehicules.VOITURE, Vehicules.BLEU), new Vehicule(Vehicules.VOITURE, Vehicules.BLEU));
verify(persister).query("vehicule.is(BLEU)");
}
}
public class VehiculesTest2 {
final Vehicules vehicules = new Vehicules();
@Test
// CE TEST L'AURAIT REPEREE
public void shouldGetVoituresBleues2() {
initDb("vehicule",
new Vehicule(Vehicules.VOITURE, Vehicules.BLEU),
new Vehicule(Vehicules.VOITURE, Vehicules.BLEU),
new Vehicule(Vehicules.VOITURE, Vehicules.ROUGE),
new Vehicule(Vehicules.CAMION, Vehicules.BLEU));
final Collection<Vehicule> result = vehicules.getVoituresBleues();
assertThat(result).containsExactly(new Vehicule(Vehicules.VOITURE, Vehicules.BLEU), new Vehicule(Vehicules.VOITURE, Vehicules.BLEU));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment