Ejemplo n.º 1
0
        public void SiUnFiltrePossèdeUneListeDAnnonceVideNePasEnTenirCompte()
        {
            Annonce annonceARetourner1 = Helper.Annonce.Create("annonce1");
            Annonce annonceARetourner2 = Helper.Annonce.Create("annonce2");
            Annonce annonceAIgnorer = Helper.Annonce.Create("annonce3");
            filtre1.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>());
            filtre1.SetupGet(filtre => filtre.Valeurs).Returns(new List<string>());

            filtre2.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>(){
                                                                                       annonceARetourner1,
                                                                                       annonceAIgnorer
                                                                                   });
            filtre2.SetupGet(filtre => filtre.Valeurs).Returns(new List<string>(){"test"});
            filtre3.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>(){
                                                                                       annonceARetourner1,
                                                                                       annonceARetourner2
                                                                                   });
            filtre3.SetupGet(filtre => filtre.Valeurs).Returns(new List<string>() { "test" });

            CalculateurDeFiltre calculateurDeFiltre = new CalculateurDeFiltre(new List<FiltrePar>() { filtre1.Object, filtre2.Object, filtre3.Object });
            IList<Annonce> annonces = calculateurDeFiltre.AnnonceFiltrés(repository.Object);

            Assert.AreEqual(1, annonces.Count);
            CollectionAssert.Contains(annonces.ToList(), annonceARetourner1);
        }
Ejemplo n.º 2
0
	    private void ActualiseLaListeDesAnnonces()
        {
            FiltrePar filtreVilles = new FiltreParVilles(Vue.FiltreParVilles, Repository);
            FiltrePar filtreTypesContrat = new FiltreParTypesContrat(Vue.FiltreParTypesContrat, Repository);
            FiltrePar filtreTags = new FiltreParTags(Vue.FiltreParTags, Repository);
            IList<FiltrePar> filtrePar = new List<FiltrePar>() { filtreVilles, filtreTypesContrat, filtreTags };
            if (Vue.Favori)
            {
                filtrePar.Add(new FiltreParFavoris(Repository));
	        }
            
            CalculateurDeFiltre calculateur = new CalculateurDeFiltre(filtrePar);

            Annonces = calculateur.AnnonceFiltrés(Repository);

            Vue.BlockAffichageFiltres.Text = calculateur.ActualiseLAffichage();
	        Vue.MiseAJourDesAnnoncesInvoke(Annonces);
	    }
Ejemplo n.º 3
0
        public void RécupèreLesAnnoncesRetournésParLesFiltreEtYAjouteUneClauseANDEntreChaque()
        {
            Annonce annonceARetourner1 = Helper.Annonce.Create("annonce1");
            Annonce annonceARetourner2 = Helper.Annonce.Create("annonce2");
            Annonce annonceAIgnorer = Helper.Annonce.Create("annonce3");

            filtre1.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Verifiable();
            filtre1.SetupGet(filtre => filtre.Valeurs).Returns(new List<string>(){"filtre1"});
            filtre1.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>(){
                                                                                       annonceARetourner1,
                                                                                       annonceARetourner2,
                                                                                       annonceAIgnorer
                                                                                   });

            filtre2.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Verifiable();
            filtre2.SetupGet(filtre => filtre.Valeurs).Returns(new List<string>() { "filtre2" });
            filtre2.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>(){
                                                                                       annonceARetourner1,
                                                                                       annonceARetourner2,
                                                                                       annonceAIgnorer
                                                                                   });
            filtre3.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Verifiable();
            filtre3.SetupGet(filtre => filtre.Valeurs).Returns(new List<string>() { "filtre3" });
            filtre3.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>(){
                                                                                       annonceARetourner1,
                                                                                       annonceARetourner2
                                                                                   });

            CalculateurDeFiltre calculateurDeFiltre = new CalculateurDeFiltre(new List<FiltrePar>() { filtre1.Object, filtre2.Object, filtre3.Object});
            IList<Annonce> annonces = calculateurDeFiltre.AnnonceFiltrés(repository.Object);
            
            
            filtre1.Verify();
            filtre2.Verify();
            filtre3.Verify();
            Assert.AreEqual(2, annonces.Count);
            CollectionAssert.Contains(annonces.ToList(), annonceARetourner1);
            CollectionAssert.Contains(annonces.ToList(), annonceARetourner2);
        }
Ejemplo n.º 4
0
        public void RetourneToutesLesAnnoncesSiIlNyAPasDeFiltre()
        {
            repository.Setup(repo => repo.RécupèreToutesLesAnnonces()).Verifiable();
            repository.Setup(repo => repo.RécupèreToutesLesAnnonces()).Returns(new List<Annonce>());

            CalculateurDeFiltre calculateurDeFiltre = new CalculateurDeFiltre(new List<FiltrePar>()) { };
            calculateurDeFiltre.AnnonceFiltrés(repository.Object);

            repository.Verify();
        }
Ejemplo n.º 5
0
        public void RetourneToutesLesAnnoncesSiLesFiltresSontVideOuNeRetournentRien(){
            filtre1.Setup(filtre => filtre.RécupèreLesAnnoncesCorrespondantes()).Returns(new List<Annonce>());
            repository.Setup(repo => repo.RécupèreToutesLesAnnonces()).Verifiable();
            repository.Setup(repo => repo.RécupèreToutesLesAnnonces()).Returns(new List<Annonce>());

            CalculateurDeFiltre calculateurDeFiltre = new CalculateurDeFiltre(new List<FiltrePar>()) { Filtres = new List<FiltrePar>() { filtre1.Object } };
            calculateurDeFiltre.AnnonceFiltrés(repository.Object);

            repository.Verify();
        }