package nc.noumea.mairie.organigramme.dto; /* * #%L * Logiciel de Gestion des Organigrammes de la Ville de Nouméa * $Id:$ * $HeadURL:$ * %% * Copyright (C) 2015 Mairie de Nouméa * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import java.util.ArrayList; import java.util.List; import nc.noumea.mairie.organigramme.enums.Statut; import nc.noumea.mairie.organigramme.enums.Transition; import org.testng.Assert; import org.testng.annotations.Test; public class EntiteDtoTest { @Test public void checkFeuille() { EntiteDto entiteDto = new EntiteDto(); Assert.assertTrue(entiteDto.isFeuille()); List<EntiteDto> listeEnfant = new ArrayList<EntiteDto>(); entiteDto.setEnfants(listeEnfant); Assert.assertTrue(entiteDto.isFeuille()); listeEnfant.add(new EntiteDto()); Assert.assertFalse(entiteDto.isFeuille()); } @Test public void checkStatut() { EntiteDto entiteDto = new EntiteDto(); Assert.assertFalse(entiteDto.isActif()); Assert.assertFalse(entiteDto.isInactif()); Assert.assertFalse(entiteDto.isTransitoire()); Assert.assertFalse(entiteDto.isPrevision()); Assert.assertFalse(entiteDto.isTransitoireOuInactif()); // Prévision entiteDto.setIdStatut(0); Assert.assertFalse(entiteDto.isActif()); Assert.assertFalse(entiteDto.isInactif()); Assert.assertFalse(entiteDto.isTransitoire()); Assert.assertTrue(entiteDto.isPrevision()); Assert.assertFalse(entiteDto.isTransitoireOuInactif()); // Actif entiteDto.setIdStatut(1); Assert.assertTrue(entiteDto.isActif()); Assert.assertFalse(entiteDto.isInactif()); Assert.assertFalse(entiteDto.isTransitoire()); Assert.assertFalse(entiteDto.isPrevision()); Assert.assertFalse(entiteDto.isTransitoireOuInactif()); // Transitoire entiteDto.setIdStatut(2); Assert.assertFalse(entiteDto.isActif()); Assert.assertFalse(entiteDto.isInactif()); Assert.assertTrue(entiteDto.isTransitoire()); Assert.assertFalse(entiteDto.isPrevision()); Assert.assertTrue(entiteDto.isTransitoireOuInactif()); // Inactif entiteDto.setIdStatut(3); Assert.assertFalse(entiteDto.isActif()); Assert.assertTrue(entiteDto.isInactif()); Assert.assertFalse(entiteDto.isTransitoire()); Assert.assertFalse(entiteDto.isPrevision()); Assert.assertTrue(entiteDto.isTransitoireOuInactif()); } @Test public void getListeTransitionAutorise() { EntiteDto entiteDto = new EntiteDto(); Assert.assertEquals(entiteDto.getListeTransitionAutorise(), new ArrayList<Transition>()); // Prévision sans parent entiteDto.setIdStatut(0); Assert.assertEquals(entiteDto.getListeTransitionAutorise(), new ArrayList<Transition>()); EntiteDto entiteDtoParent = new EntiteDto(); entiteDto.setEntiteParent(entiteDtoParent); // Parent en prévision entiteDtoParent.setIdStatut(0); Assert.assertEquals(entiteDto.getListeTransitionAutorise(), new ArrayList<Transition>()); // Parent en inactif entiteDtoParent.setIdStatut(3); Assert.assertEquals(entiteDto.getListeTransitionAutorise(), new ArrayList<Transition>()); // Parent en actif entiteDtoParent.setIdStatut(1); List<Transition> result = new ArrayList<Transition>(); result.add(Transition.ACTIF_APRES_PREVISION); Assert.assertEqualsNoOrder(entiteDto.getListeTransitionAutorise().toArray(), result.toArray()); // Parent en transitoire entiteDtoParent.setIdStatut(2); Assert.assertEqualsNoOrder(entiteDto.getListeTransitionAutorise().toArray(), result.toArray()); // Actif entiteDto.setIdStatut(1); result = new ArrayList<Transition>(); result.add(Transition.INACTIF_APRES_ACTIF); result.add(Transition.TRANSITOIRE); Assert.assertEqualsNoOrder(entiteDto.getListeTransitionAutorise().toArray(), result.toArray()); // Transitoire entiteDto.setIdStatut(2); result = new ArrayList<Transition>(); result.add(Transition.INACTIF_APRES_TRANSITOIRE); Assert.assertEqualsNoOrder(entiteDto.getListeTransitionAutorise().toArray(), result.toArray()); // Inactif entiteDto.setIdStatut(3); result = new ArrayList<Transition>(); Assert.assertEquals(entiteDto.getListeTransitionAutorise(), new ArrayList<Transition>()); } @Test public void tousEnfantEnStatut() { List<Statut> listeStatut = new ArrayList<Statut>(); listeStatut.add(Statut.INACTIF); EntiteDto entiteDto = new EntiteDto(); entiteDto.setIdStatut(1); List<EntiteDto> listeEnfantNiveau1 = new ArrayList<EntiteDto>(); EntiteDto entiteDtoEnfant1 = new EntiteDto(); entiteDtoEnfant1.setIdStatut(1); listeEnfantNiveau1.add(entiteDtoEnfant1); entiteDto.setEnfants(listeEnfantNiveau1); Assert.assertFalse(entiteDto.tousEnfantEnStatut(listeStatut, entiteDto.getEnfants())); entiteDtoEnfant1.setIdStatut(3); Assert.assertTrue(entiteDto.tousEnfantEnStatut(listeStatut, entiteDto.getEnfants())); EntiteDto entiteDtoEnfant2 = new EntiteDto(); entiteDtoEnfant2.setIdStatut(3); List<EntiteDto> listeEnfantNiveau2 = new ArrayList<EntiteDto>(); EntiteDto entiteDtoEnfant3 = new EntiteDto(); entiteDtoEnfant3.setIdStatut(1); listeEnfantNiveau2.add(entiteDtoEnfant3); entiteDtoEnfant1.setEnfants(listeEnfantNiveau2); Assert.assertFalse(entiteDto.tousEnfantEnStatut(listeStatut, entiteDto.getEnfants())); entiteDtoEnfant3.setIdStatut(3); Assert.assertTrue(entiteDto.tousEnfantEnStatut(listeStatut, entiteDto.getEnfants())); } }