/trunk/src/org/tela_botanica/del/uitest/ComparaisonEfloreVueTest.java |
---|
New file |
0,0 → 1,42 |
package org.tela_botanica.del.uitest; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEfloreVue; |
import com.google.gwt.junit.client.GWTTestCase; |
public class ComparaisonEfloreVueTest extends GWTTestCase { |
// To run this test configure your junit launcher (Eclipse>Run>Run configurations |
// classpath>Advanced>Select Folders and choose src/) |
@Override |
public String getModuleName() { |
return "org.tela_botanica.del.Del"; |
} |
public void testLoginView() { |
Observation observation = new Observation(); |
String auteur = "benjamin"; |
observation.setAuteur(auteur); |
observation.setNomRetenu("marronier"); |
observation.setNumNomenclatural("num nomenclatural "); |
observation.setDateReleve("28/09/2011"); |
observation.setFamille("famille "); |
observation.setLocalite("localite "); |
Image image = new Image(); |
image.setIdImage("id image 1"); |
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:00001%s%.jpg"); |
image.setUrl("http://www.tela-botanica.org/appli:cel-img:00001CRS.jpg"); |
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:00001XS.jpg"); |
image.setObservation(observation); |
ComparaisonEfloreVue vue = new ComparaisonEfloreVue(); |
vue.chargerImagePrincipale(image); |
assertTrue(vue.getNomAuteur().getText().contains("benjamin")); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java |
---|
24,22 → 24,21 |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Panel; |
public class ResultatRechercheImagePresenteur { |
public abstract interface Vue extends IsWidget { |
public interface Vue extends IsWidget { |
public void startChargement(); |
public void nettoyer(); |
public void afficherPanneauxObservation(List<Panel> panneauxImagesAffichees); |
public void afficherPanneauxObservation(List<HasWidgets> panneauxImagesAffichees); |
public void creerPanneauxObservations(int size); |
public void stopChargement(); |
public List<Panel> getPanneauxImages(); |
public List<HasWidgets> getPanneauxImages(); |
public HasWidgets getPanneauPagination(); |
80,7 → 79,7 |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId(); |
informationsRechercheImages.setTriParNbVotes(ModeTri.TRI_ASCENDANT); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole+""); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + ""); |
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
93,7 → 92,7 |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId(); |
informationsRechercheImages.setTriParNbVotes(ModeTri.TRI_DESCENDANT); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole+""); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + ""); |
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
120,13 → 119,13 |
chargerEtAfficherImagesPageEnCours(); |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() { |
@Override |
public void onChangementProtocole(EvenementChangementProtocole event) { |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
if(informationsRechercheImages.getTriParNbVotes() != ModeTri.PAS_DE_TRI) { |
informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId()+""); |
if (informationsRechercheImages.getTriParNbVotes() != ModeTri.PAS_DE_TRI) { |
informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId() + ""); |
chargerEtAfficherImagesPageEnCours(); |
} |
} |
164,16 → 163,16 |
} |
private void afficherImages(ImageServiceResultat imageServiceResult) { |
public void afficherImages(ImageServiceResultat imageServiceResult) { |
List<Image> images = imageServiceResult.getImages(); |
List<Panel> panneauxImagesAffichees = new ArrayList<Panel>(); |
List<HasWidgets> panneauxImagesAffichees = new ArrayList<HasWidgets>(); |
vue.creerPanneauxObservations(imageServiceResult.getImages().size()); |
Iterator<Panel> panelIterator = vue.getPanneauxImages().iterator(); |
Iterator<HasWidgets> panelIterator = vue.getPanneauxImages().iterator(); |
for (Image image : images) { |
Panel imagePanel = panelIterator.next(); |
HasWidgets imagePanel = panelIterator.next(); |
ImagePresenteur imagePresenteur = new ImagePresenteur(image, CacheClient.getInstance().getProtocoleCourant(), new ImageVue()); |
imagePresenteur.go(imagePanel); |
panneauxImagesAffichees.add(imagePanel); |
216,4 → 215,8 |
final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination(); |
chargerEtAfficherImages(debut, fin); |
} |
public Vue getVue() { |
return vue; |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImageVue.java |
---|
9,6 → 9,7 |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
16,7 → 17,7 |
@UiField |
Panel panneauChargement; |
private final List<Panel> panneauxImages = new ArrayList<Panel>(); |
private final List<HasWidgets> panneauxImages = new ArrayList<HasWidgets>(); |
private final int nbImagesPerPage = 10; |
private int numImage = 0; |
59,7 → 60,7 |
} |
} |
public void afficherPanneauxObservation(List<Panel> imagesPanel) { |
public void afficherPanneauxObservation(List<HasWidgets> imagesPanel) { |
imageTable.clear(); |
for (int i = 0; i < imagesPanel.size(); i++) { |
108,7 → 109,7 |
return nbImagesPerPage; |
} |
public List<Panel> getPanneauxImages() { |
public List<HasWidgets> getPanneauxImages() { |
return panneauxImages; |
} |
/trunk/src/org/tela_botanica/del/client/modeles/ImageServiceResultat.java |
---|
16,40 → 16,44 |
import com.google.gwt.user.client.Window; |
public class ImageServiceResultat { |
private List<Image> images; |
private int nbTotalImagesPourLaRecherche; |
public ImageServiceResultat(JSONValue retourJson) { |
//TODO ajouter vérifications plus précises |
double total = retourJson.isObject().get("total").isNumber().doubleValue(); |
nbTotalImagesPourLaRecherche = (int) total; |
JSONArray tableauObs = retourJson.isObject().get("contenu").isArray(); |
images = new ArrayList<Image>(); |
int nbResultats = tableauObs.size(); |
for (int i = 0; i < nbResultats; i++) { |
JSONObject imageJson = tableauObs.get(i).isObject(); |
Image image = UtilitairesServiceResultat.parserImageJSON(imageJson); |
if(imageJson.get("observation") != null && imageJson.get("observation").isObject() != null) { |
JSONObject observationJson = imageJson.get("observation").isObject(); |
image.setObservation(UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson)); |
try { |
// TODO ajouter vérifications plus précises |
double total = retourJson.isObject().get("total").isNumber().doubleValue(); |
nbTotalImagesPourLaRecherche = (int) total; |
JSONArray tableauObs = retourJson.isObject().get("contenu").isArray(); |
images = new ArrayList<Image>(); |
int nbResultats = tableauObs.size(); |
for (int i = 0; i < nbResultats; i++) { |
JSONObject imageJson = tableauObs.get(i).isObject(); |
Image image = UtilitairesServiceResultat.parserImageJSON(imageJson); |
if (imageJson.get("observation") != null && imageJson.get("observation").isObject() != null) { |
JSONObject observationJson = imageJson.get("observation").isObject(); |
image.setObservation(UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson)); |
} |
if (imageJson.get("votes") != null && imageJson.get("votes").isArray() != null) { |
JSONArray votes = imageJson.get("votes").isArray(); |
image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes)); |
} |
images.add(image); |
} |
if(imageJson.get("votes") != null && imageJson.get("votes").isArray() != null) { |
JSONArray votes = imageJson.get("votes").isArray(); |
image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes)); |
} |
images.add(image); |
} catch (Exception e) { |
} |
} |
public List<Image> getImages() { |
return images; |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Protocole.java |
---|
1,15 → 1,12 |
package org.tela_botanica.del.client.modeles; |
import org.tela_botanica.del.client.i18n.I18n; |
import com.sun.imageio.plugins.common.I18N; |
public class Protocole { |
private int id; |
private String nom; |
public static String ESTHETISME = I18n.getVocabulary().protocoleEsthetisme(); |
public static String IDENTIFICATION_AUTOMATIQUE = I18n.getVocabulary().protocoleIdentificationAuto(); |
public static String ESTHETISME = "ESTHETISME"; |
public static String IDENTIFICATION_AUTOMATIQUE = "IDENTIFICATION_AUTOMATIQUE"; |
public int getId() { |
return id; |
/trunk/src/org/tela_botanica/del/test/ui/ComparaisonEfloreVueTest.java |
---|
File deleted |
/trunk/src/org/tela_botanica/del/test/composants/pagination/PaginationPresenteurTest.java |
---|
1,6 → 1,6 |
package org.tela_botanica.del.test.composants.pagination; |
import static org.junit.Assert.*; |
import static org.junit.Assert.assertEquals; |
import static org.mockito.Mockito.when; |
import org.junit.Before; |
7,12 → 7,13 |
import org.junit.Test; |
import org.mockito.Mockito; |
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur; |
import com.google.gwt.event.dom.client.HasChangeHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.ui.HasWidgets; |
public class PaginationPresenteurTest { |
/** |
* Presenteur utilisé pour le test de synchro pagination |
*/ |
21,117 → 22,102 |
* Presenteur utilisé pour le test de synchro pagination |
*/ |
PaginationPresenteur paginationBasPresenteur; |
/** |
* Presenteur utilisé seul qui ne doit pas réagir au évènements lancés par les deux autres |
* Presenteur utilisé seul qui ne doit pas réagir au évènements lancés par |
* les deux autres |
*/ |
PaginationPresenteur paginationPresenteurSeul; |
@Before |
@Before |
public void setUp() { |
PaginationPresenteur.Vue vueBas = creerMockVuePaginationPresenteurBasique(); |
PaginationPresenteur.Vue vueBas = creerMockVuePaginationPresenteurBasique(); |
this.paginationBasPresenteur = new PaginationPresenteur(vueBas, 100, 10, 1) { |
@Override |
public void chargerElements(int debut, int fin) { |
// TODO Auto-generated method stub |
} |
@Override |
public void actualiserPasCache(int pas) { |
// TODO Auto-generated method stub |
} |
}; |
PaginationPresenteur.Vue vueHaut = creerMockVuePaginationPresenteurBasique(); |
this.paginationHautPresenteur = new PaginationPresenteur(vueHaut,100, 10, 1) { |
this.paginationHautPresenteur = new PaginationPresenteur(vueHaut, 100, 10, 1) { |
@Override |
public void actualiserPasCache(int pas) { |
public void actualiserPasCache(int pas) { |
} |
@Override |
public void chargerElements(int debut, int fin) { |
// TODO Auto-generated method stub |
} |
}; |
PaginationPresenteur.Vue vueSeule = creerMockVuePaginationPresenteurBasique(); |
this.paginationPresenteurSeul = new PaginationPresenteur(vueSeule, 100, 10, 1) { |
@Override |
public void actualiserPasCache(int pas) {} |
public void actualiserPasCache(int pas) { |
} |
@Override |
public void chargerElements(int debut, int fin) { |
// TODO Auto-generated method stub |
} |
}; |
HasWidgets containerMock = Mockito.mock(HasWidgets.class); |
paginationHautPresenteur.setGroupePagination("pagination_synchro"); |
paginationBasPresenteur.setGroupePagination("pagination_synchro"); |
paginationHautPresenteur.go(containerMock); |
paginationBasPresenteur.go(containerMock); |
paginationPresenteurSeul.go(containerMock); |
} |
@Test |
public void testSynchronisationChangementPageCourante() { |
assertEquals(1, paginationHautPresenteur.getPageCourante()); |
assertEquals(1, paginationBasPresenteur.getPageCourante()); |
paginationBasPresenteur.allerALapageSuivante(); |
assertEquals(2, paginationHautPresenteur.getPageCourante()); |
} |
@Test |
public void testSynchronisationChangementPasEtDecalage() { |
assertEquals(1, paginationHautPresenteur.getPageCourante()); |
assertEquals(1, paginationBasPresenteur.getPageCourante()); |
paginationBasPresenteur.allerALapageSuivante(); |
paginationBasPresenteur.allerALapageSuivante(); |
paginationBasPresenteur.allerALapageSuivante(); |
assertEquals(4, paginationHautPresenteur.getPageCourante()); |
paginationBasPresenteur.changerPas(5); |
assertEquals(5, paginationHautPresenteur.getPas()); |
assertEquals(8, paginationBasPresenteur.getPageCourante()); |
} |
@Test |
public void testSynchronisationChangementPas() { |
paginationBasPresenteur.changerPas(20); |
assertEquals(1, paginationBasPresenteur.getPageCourante()); |
assertEquals(20, paginationHautPresenteur.getPas()); |
} |
@Test |
public void testGroupePaginationDifferents() { |
paginationPresenteurSeul.allerALapageSuivante(); |
assertEquals(2, paginationPresenteurSeul.getPageCourante()); |
paginationBasPresenteur.allerAlaDernierePage(); |
assertEquals(9, paginationHautPresenteur.getPageCourante()); |
assertEquals(9, paginationBasPresenteur.getPageCourante()); |
assertEquals(10, paginationHautPresenteur.getPageCourante()); |
assertEquals(10, paginationBasPresenteur.getPageCourante()); |
assertEquals(2, paginationPresenteurSeul.getPageCourante()); |
} |
private PaginationPresenteur.Vue creerMockVuePaginationPresenteurBasique() { |
PaginationPresenteur.Vue vueMock = Mockito.mock(PaginationPresenteur.Vue.class); |
PaginationPresenteur.Vue vueMock = Mockito.mock(PaginationPresenteur.Vue.class); |
HasWidgets zoneLiens = Mockito.mock(HasWidgets.class); |
HasChangeHandlers selecteurPas = Mockito.mock(HasChangeHandlers.class); |
HasClickHandlers boutonPrecedent = Mockito.mock(HasClickHandlers.class); |
138,7 → 124,7 |
HasClickHandlers boutonSuivant = Mockito.mock(HasClickHandlers.class); |
HasClickHandlers boutonPremierePage = Mockito.mock(HasClickHandlers.class); |
HasClickHandlers boutonDernierePage = Mockito.mock(HasClickHandlers.class); |
when(vueMock.getZoneLiens()).thenReturn(zoneLiens); |
when(vueMock.getSelecteurPas()).thenReturn(selecteurPas); |
when(vueMock.getBoutonPrecedent()).thenReturn(boutonPrecedent); |
145,7 → 131,7 |
when(vueMock.getBoutonSuivant()).thenReturn(boutonSuivant); |
when(vueMock.getBoutonPremierePage()).thenReturn(boutonPremierePage); |
when(vueMock.getBoutonDernierePage()).thenReturn(boutonDernierePage); |
return vueMock; |
} |
} |
/trunk/src/org/tela_botanica/del/test/vues/rechercheimages/ResultatRechercheImagePresenteurTest.java |
---|
1,41 → 1,33 |
package org.tela_botanica.del.test.vues.rechercheimages; |
import static org.junit.Assert.*; |
import static org.mockito.Mockito.mock; |
import org.junit.Before; |
import org.junit.Test; |
import static org.junit.Assert.*; |
import org.mockito.Mockito; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.services.rest.ImageService; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur; |
import com.google.gwt.user.client.ui.HasWidgets; |
import static org.mockito.Mockito.*; |
public class ResultatRechercheImagePresenteurTest { |
private ResultatRechercheImagePresenteur resultatPresenteur; |
private org.tela_botanica.del.client.vues.rechercheimages.moteur.MoteurRechercheImagePresenteur.Vue vueMoteurRecherche; |
private org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur.Vue vueResultat; |
private ImageService serviceImage; |
@Before |
public void setUp() throws Exception { |
vueResultat = mock(org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur.Vue.class); |
serviceImage = mock(ImageService.class); |
vueResultat = mock(org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur.Vue.class, Mockito.RETURNS_MOCKS); |
serviceImage = mock(ImageService.class); |
resultatPresenteur = new ResultatRechercheImagePresenteur(serviceImage, vueResultat); |
vueMoteurRecherche = mock(org.tela_botanica.del.client.vues.rechercheimages.moteur.MoteurRechercheImagePresenteur.Vue.class); |
HasWidgets zoneResultats = mock(HasWidgets.class); |
when(vueMoteurRecherche.getZoneResultats()).thenReturn(zoneResultats); |
resultatPresenteur.go(vueMoteurRecherche.getZoneResultats()); |
} |
@Test |
public void testAfficherImages() { |
//TODO: réfléchir avec les autres à quoi tester |
assertSame("a", "a"); |
resultatPresenteur.chargerEtAfficherImagesPageEnCours(); |
assertEquals(CacheClient.getInstance().getPageCouranteRechercheImage(), 1); |
} |
} |
/trunk/src/org/tela_botanica/del/test/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVotePresenteurTest.java |
---|
8,6 → 8,7 |
import org.junit.Before; |
import org.junit.Test; |
import org.mockito.Mock; |
import org.mockito.Mockito; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
30,7 → 31,7 |
@Before |
public void setUp() { |
vue = mock(Vue.class); |
vue = mock(Vue.class, Mockito.RETURNS_DEEP_STUBS); |
barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(vue); |
VoteDetermination voteDetermination = new VoteDetermination(); |
/trunk/src/org/tela_botanica/del/test/vues/comparaisoneflore/ComparaisonEflorePresenteurTest.java |
---|
1,12 → 1,17 |
package org.tela_botanica.del.test.vues.comparaisoneflore; |
import static org.junit.Assert.assertTrue; |
import static org.mockito.Mockito.doAnswer; |
import static org.mockito.Mockito.mock; |
import org.junit.Before; |
import org.junit.Test; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.Image; |
import org.mockito.Mockito; |
import org.mockito.invocation.InvocationOnMock; |
import org.mockito.stubbing.Answer; |
import org.tela_botanica.del.client.services.rest.ImageService; |
import org.tela_botanica.del.client.services.rest.VoteProtocoleService; |
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur; |
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur.Vue; |
15,22 → 20,27 |
private ComparaisonEflorePresenteur comparaisonEflorePresenteur; |
private Vue vue; |
@Before |
public void setUp() { |
vue = mock(Vue.class); |
comparaisonEflorePresenteur = new ComparaisonEflorePresenteur(vue, MockDatasource.getInstance(), MockDatasource.getInstance()); |
Vue vue = mock(Vue.class); |
ImageService imageService = Mockito.mock(ImageService.class); |
VoteProtocoleService voteProtocoleService = mock(VoteProtocoleService.class); |
Image image = new Image(); |
image.setIdImage("id image 0"); |
CacheClient.getInstance().setImageCourante(image); |
doAnswer(new Answer<Void>() { |
public Void answer(InvocationOnMock invocation) { |
comparaisonEflorePresenteur.setImagesEflore(MockDatasource.getInstance().getImages(0, 10)); |
return null; |
} |
}).when(imageService).getImagesEfloreParTaxon(Mockito.anyString(), Mockito.any(ImagesParTaxonCallback.class)); |
comparaisonEflorePresenteur = new ComparaisonEflorePresenteur(vue, voteProtocoleService, imageService); |
comparaisonEflorePresenteur.chargerObservationsEflore(); |
} |
@Test |
public void testChargerImages() { |
assertTrue(comparaisonEflorePresenteur.getImagesEflore().size() > 0); |
assertTrue(comparaisonEflorePresenteur.getImagesEflore().size() == 10); |
} |
} |