Skip to content
Snippets Groups Projects
Commit 4bebfbe3 authored by Nicolas Floquet's avatar Nicolas Floquet
Browse files

Commit liste_url avec assert

parent 73b25d68
No related branches found
No related tags found
1 merge request!12Floquet nicolas graphe v01
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "liste_url.h"
......@@ -24,6 +25,12 @@ int creer_liste(liste_url* l, int n)
}
l->max = n;
l->premierNULL = 0;
assert(l->max > 0);
assert(l->max == n);
assert(l->premierNULL == 0);
assert(l->premierNULL == 0);
assert(l->urls[0] == NULL);
assert(l->urls[l->max - 1] == NULL);
return 0;
}
......@@ -35,6 +42,7 @@ int creer_liste(liste_url* l, int n)
*/
int liste_get_max(liste_url* l)
{
assert(l->max > 0);
return l->max;
}
......@@ -46,6 +54,8 @@ int liste_get_max(liste_url* l)
*/
int liste_get_premier_NULL(liste_url* l)
{
assert(l->premierNULL >= 0);
assert(l->premierNULL <= l->max);
return l->premierNULL;
}
......@@ -77,6 +87,10 @@ int liste_find(liste_url* l, char* s)
{
if(!strcmp(s, liste_get_i(l, i)))
{
assert(!strcmp(s, l->urls[i]));
assert(i >= 0);
assert(i < l->premierNULL);
assert(i < l->max);
return i;
}
}
......@@ -95,6 +109,8 @@ char* liste_get_i(liste_url* l, int i)
{
if(0 <= i && i < liste_get_max(l))
{
assert(i >= 0);
assert(i < l->max);
return l->urls[i];
}
return NULL;
......@@ -129,6 +145,7 @@ void liste_add(liste_url* l, char* s)
}
l->urls[l->premierNULL] = (char*) calloc(sizeof(char), strlen(s)+1);
strcpy(l->urls[l->premierNULL++], s);
assert(!strcmp(l->urls[l->premierNULL - 1], s));
}
}
......@@ -142,6 +159,8 @@ void liste_remove(liste_url* l, char* s)
{
if(l && s)
{
int assertAncienneTaille = liste_get_premier_NULL(l);
int assertNouvelleTaille;
int i, trouve = 0;
for(i = 0; i < liste_get_premier_NULL(l); i++)
{
......@@ -171,6 +190,8 @@ void liste_remove(liste_url* l, char* s)
}
}
l->premierNULL--;
assertNouvelleTaille = liste_get_premier_NULL(l);
assert(trouve || (assertAncienneTaille == assertNouvelleTaille));
}
}
......
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "../src/liste_url.h"
......@@ -8,10 +10,19 @@ int main()
liste_url l;
creer_liste(&l, 1);
liste_add(&l, "www.google.com");
assert(!strcmp(l.urls[0], "www.google.com"));
liste_add(&l, "www.gogol.com");
assert(!strcmp(l.urls[1], "www.gogol.com"));
liste_add(&l, "file://C:\\Users\\Nicolas\\Homework");
assert(!strcmp(l.urls[2], "file://C:\\Users\\Nicolas\\Homework"));
liste_add(&l, "lipn.univ-paris13.fr/");
assert(!strcmp(l.urls[3], "lipn.univ-paris13.fr/"));
liste_add(&l, "https://lipn.univ-paris13.fr/accueil/presentation/le-laboratoire/");
assert(!strcmp(l.urls[4], "https://lipn.univ-paris13.fr/accueil/presentation/le-laboratoire/"));
liste_afficher(&l);
......@@ -19,12 +30,16 @@ int main()
printf("La première URL est %s\n", liste_get_i(&l, 0));
printf("La liste %s l'URL \"www.google.com\", indice : %d\n", (liste_contains(&l, "www.google.com") ? "contient" : "ne contient pas"), liste_find(&l, "www.google.com"));
assert(liste_contains(&l, "www.google.com"));
printf("Retirons la première URL, celle de google\n");
liste_remove(&l, "www.google.com");
assert(strcmp(l.urls[0], "www.google.com")); //strcmp != 0 => chaînes différentes (inférieures ou supérieures)
liste_afficher(&l);
printf("La liste %s l'URL \"www.google.com\", indice : %d\n", (liste_contains(&l, "www.google.com") ? "contient" : "ne contient pas"), liste_find(&l, "www.google.com"));
assert(!liste_contains(&l, "www.google.com"));
liste_detruire(&l);
return EXIT_SUCCESS;
......
#include <stdio.h>
#include <stdlib.h>
#include "../src/pagerank.h"
/*
dot -Tpdf pagerank_1.dot -o pagerank_1.pdf
dot -Tpdf pagerank_2.dot -o pagerank_2.pdf
dot -Tpdf pagerank_3.dot -o pagerank_3.pdf
*/
int main()
{
pagerank p;
char* fichier1 = "pagerank_1.dot";
char* fichier2 = "pagerank_2.dot";
char* fichier3 = "pagerank_3.dot";
char* google = "www.google.com";
char* fichierNico = "file://C:\\Users\\Nicolas\\Homework";
char* lipn = "lipn.univ-paris13.fr/";
char* lipnA3 = "https://lipn.univ-paris13.fr/accueil/equipe/a3/";
char* lipnAOC = "https://lipn.univ-paris13.fr/accueil/equipe/aoc/";
char* lipnPresentation = "https://lipn.univ-paris13.fr/accueil/presentation/le-laboratoire/";
char* youtube = "https://www.youtube.com/";
char* youtubeHistory = "https://www.youtube.com/feed/history";
char* youtubeSubs = "https://www.youtube.com/feed/subscriptions";
char* aRetirer = "/A/retirer";
creer_pagerank(&p, 5);
pagerank_add_URL(&p, google);
pagerank_add_URL(&p, fichierNico);
pagerank_add_URL(&p, lipn);
pagerank_add_URL(&p, lipnA3);
pagerank_add_URL(&p, lipnAOC);
pagerank_add_URL(&p, lipnPresentation);
pagerank_add_URL(&p, youtube);
pagerank_add_URL(&p, youtubeHistory);
pagerank_add_URL(&p, youtubeSubs);
pagerank_add_URL(&p, aRetirer);
pagerank_afficher(&p);
printf("La première URL ajoutée est %s\n", pagerank_get_URL_i(&p, 0));
printf("L'indice de l'URL du LIPN est %d\n", pagerank_find_indice_URL(&p, lipn));
pagerank_remove_URL(&p, aRetirer);
pagerank_afficher(&p);
pagerank_relier_URL(&p, google, youtube);
pagerank_relier_URL(&p, youtube, youtubeHistory);
pagerank_relier_URL(&p, youtube, youtubeSubs);
pagerank_relier_URL(&p, lipn, lipnA3);
pagerank_relier_URL(&p, lipn, lipnAOC);
pagerank_relier_URL(&p, lipn, lipnPresentation);
pagerank_relier_URL(&p, lipnPresentation, lipnA3);
pagerank_relier_URL(&p, lipnPresentation, lipnAOC);
pagerank_relier_URL(&p, fichierNico, google);
pagerank_afficher(&p);
pagerank_ecrire_dot(&p, fichier1);
printf("\"%s\" %s \"%s\"\n", fichierNico, google, ((pagerank_link_to(&p, fichierNico, google)) ? "a un lien vers" : "n'a pas de lien vers"));
pagerank_delier_URL(&p, fichierNico, google);
pagerank_ecrire_dot(&p, fichier2);
printf("\"%s\" %s \"%s\"\n", fichierNico, google, ((pagerank_link_to(&p, fichierNico, google)) ? "a un lien vers" : "n'a pas de lien vers"));
printf("Retirons maintenant \"%s\" du pagerank\n", google);
pagerank_remove_URL(&p, google);
pagerank_ecrire_dot(&p, fichier3);
pagerank_afficher(&p);
pagerank_detruire(&p);
return EXIT_SUCCESS;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment