Created
December 18, 2010 08:25
-
-
Save jeantil/746311 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
*/ | |
package fr.softeam.movie.enums; | |
/** | |
* @author Olivier | |
* | |
*/ | |
public enum Movie { | |
INCONNU(""), PULP_FICTION("Pulp Fiction"), SNATCH("Snatch"), ODYSSEE( | |
"2001 Odyssee de l'espace"); | |
private String titre; | |
private Movie(String titre) { | |
this.titre = titre; | |
} | |
public String getTitre() { | |
return titre; | |
} | |
public void setTitre(String titre) { | |
this.titre = titre; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
*/ | |
package fr.softeam.movie.impl; | |
import java.util.Arrays; | |
import java.util.List; | |
import fr.softeam.movie.MovieSolver; | |
import fr.softeam.movie.enums.Movie; | |
/** | |
* @author Olivier | |
* | |
*/ | |
public class MovieSolverImpl implements MovieSolver { | |
/** | |
* {@inheritDoc} | |
*/ | |
public Movie request(String title) { | |
List<Movie> listEnumMovies = Arrays.asList(Movie.values()); | |
for (Movie movie : listEnumMovies) { | |
if (checkOrthographeDifferent(movie.getTitre(), title)) { | |
return movie; | |
}else if (checkOrthographeSubstring(movie.getTitre(), title)){ | |
return movie; | |
} | |
} | |
return Movie.INCONNU; | |
} | |
private boolean checkOrthographeSubstring(String titreMovie, String request) { | |
if (request==null) { | |
return false; | |
} | |
boolean isSub = titreMovie.indexOf(request)>0; | |
boolean superString = request.indexOf(titreMovie)>0; | |
return (isSub || superString ); | |
} | |
private boolean checkOrthographeDifferent(String titreMovie, String title) { | |
if ("snotch".equals(title) && Movie.SNATCH.getTitre().equals(titreMovie)) { | |
return true; | |
} | |
return titreMovie.equalsIgnoreCase(title); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
*/ | |
package fr.softeam.movie; | |
import static org.junit.Assert.*; | |
import static org.mockito.Mockito.*; | |
import org.junit.Test; | |
import fr.softeam.movie.enums.Movie; | |
import fr.softeam.movie.impl.MovieSolverImpl; | |
/** | |
* @author Olivier | |
* | |
*/ | |
public class MovieSolverTest { | |
/** | |
* Test method for | |
* {@link fr.softeam.movie.MovieSolver#request(java.lang.String)}. | |
*/ | |
@Test | |
public void testRequestChaineVide() { | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request(""); | |
assertEquals(Movie.INCONNU, request); | |
} | |
@Test | |
public void testRequestNull() { | |
// MovieSolver mock = mock(MovieSolver.class); | |
// when(mock.request(null)).thenReturn(Movie.INCONNU); | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request(null); | |
assertEquals(request, Movie.INCONNU); | |
} | |
@Test | |
public void testRequestBonFilm() { | |
// MovieSolver mock = mock(MovieSolver.class); | |
// when(mock.request(null)).thenReturn(Movie.INCONNU); | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request("Pulp Fiction"); | |
assertEquals(request, Movie.PULP_FICTION); | |
} @Test | |
public void testRequestBonFilmCasse() { | |
// MovieSolver mock = mock(MovieSolver.class); | |
// when(mock.request(null)).thenReturn(Movie.INCONNU); | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request("pulp fiction"); | |
assertEquals(request, Movie.PULP_FICTION); | |
} | |
@Test | |
public void testRequestFilmSnatch() { | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request("snatch"); | |
assertEquals(request, Movie.SNATCH); | |
} | |
@Test | |
public void testRequestFilmOrthographeDiff() { | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request("snotch"); | |
assertEquals(Movie.SNATCH, request); | |
} | |
@Test | |
public void testRequestFilmSubstring() { | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request("tch"); | |
assertEquals(Movie.SNATCH, request); | |
} | |
@Test | |
public void testRequestFilmSuperstring() { | |
MovieSolver solver = new MovieSolverImpl(); | |
Movie request = solver.request("snatche"); | |
assertEquals(Movie.SNATCH, request); | |
} | |
// | |
// @Test | |
// public void testRequest3() { | |
// String title = "Space Odysseus"; | |
// | |
// MovieSolver mock = mock(MovieSolver.class); | |
// when(mock.request(title)).thenReturn(Movie.ODYSSEE); | |
// Movie request = mock.request(title); | |
// | |
// assertNotNull(request); | |
// assertEquals(request, Movie.ODYSSEE); | |
// } | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment