td7 1 ok
This commit is contained in:
84
2020-2021/tests/TD6/reseauSocialTestV2/FirstTests.java
Normal file
84
2020-2021/tests/TD6/reseauSocialTestV2/FirstTests.java
Normal file
@@ -0,0 +1,84 @@
|
||||
package TD6.reseauSocialTestV2;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import TD6.reseauSocial.core.MemberInterface;
|
||||
import TD6.reseauSocial.core.SocialNetworkInterface;
|
||||
import TD6.reseauSocial.implementation2020.Member;
|
||||
import TD6.reseauSocial.implementation2020.SocialNetWorkImpl;
|
||||
|
||||
|
||||
|
||||
|
||||
public class FirstTests {
|
||||
|
||||
|
||||
//TODO : reference to be modified according to your implementation
|
||||
//Member refers to your implementation of MemberInterface
|
||||
//SocialNetWorkImpl refers to your implementation of SocialNetworkInterface
|
||||
SocialNetworkInterface<Member> iutRS;
|
||||
static String nomGeek = "geek01";
|
||||
|
||||
@BeforeEach
|
||||
public void setUp(){
|
||||
iutRS = new SocialNetWorkImpl("IUT");
|
||||
}
|
||||
|
||||
/*
|
||||
* utility functions
|
||||
*/
|
||||
|
||||
private Member addMember(String nom, String location, SocialNetworkInterface<Member> nw ) {
|
||||
Member m = new Member(nom);
|
||||
m.setLocation(location);
|
||||
nw.addMember(m);
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testInit() {
|
||||
assertTrue(iutRS != null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Serie of simple tests
|
||||
*/
|
||||
|
||||
|
||||
@Test
|
||||
public void testAddAndGetMemberSimple() {
|
||||
String location = "Nice";
|
||||
MemberInterface mGeek01 = addMember(nomGeek, location, iutRS);
|
||||
assertEquals(nomGeek, mGeek01.getName());
|
||||
assertEquals(location, mGeek01.getLocation());
|
||||
assertEquals(mGeek01,iutRS.getMember(nomGeek));
|
||||
|
||||
}
|
||||
@Test
|
||||
public void testAddAndGetTwoMembers() {
|
||||
MemberInterface mGeek01 = addMember(nomGeek, "Nice", iutRS);
|
||||
MemberInterface mGeek02 = addMember("ivana","Toulon", iutRS);
|
||||
assertEquals(nomGeek, mGeek01.getName());
|
||||
assertEquals("ivana", mGeek02.getName());
|
||||
assertEquals(mGeek01,iutRS.getMember(nomGeek));
|
||||
assertEquals(mGeek02,iutRS.getMember("ivana"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMembers() {
|
||||
MemberInterface mGeek01 = addMember("geek01", "Nice", iutRS);
|
||||
MemberInterface mGeek02 = addMember("ivana","Toulon", iutRS);
|
||||
Collection<? extends MemberInterface> membres = iutRS.getMembers();
|
||||
assertEquals("taille du reseau est bien de 2 membres", 2,membres.size());
|
||||
assertTrue(membres.contains(mGeek01));
|
||||
assertTrue(membres.contains(mGeek02));
|
||||
}
|
||||
}
|
155
2020-2021/tests/TD6/reseauSocialTestV2/SecondTests.java
Normal file
155
2020-2021/tests/TD6/reseauSocialTestV2/SecondTests.java
Normal file
@@ -0,0 +1,155 @@
|
||||
package TD6.reseauSocialTestV2;
|
||||
|
||||
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import TD6.reseauSocial.core.SocialNetworkInterface;
|
||||
import TD6.reseauSocial.core.Strength;
|
||||
import TD6.reseauSocial.implementation2020.Member;
|
||||
import TD6.reseauSocial.implementation2020.SocialNetWorkImpl;
|
||||
|
||||
|
||||
|
||||
public class SecondTests {
|
||||
|
||||
|
||||
//For Students => TODO : reference to be modified according to your implementation
|
||||
//Member refers to your implementation of MemberInterface
|
||||
//SocialNetWorkImpl refers to your implementation of SocialNetworkInterface
|
||||
SocialNetworkInterface<Member> iutRS;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
iutRS = new SocialNetWorkImpl("IUT");
|
||||
}
|
||||
|
||||
|
||||
Member asterix;
|
||||
Member falbala ;
|
||||
Member obelix ;
|
||||
Member panoramix ;
|
||||
Member abraracourcix ;
|
||||
|
||||
|
||||
/*
|
||||
* utility functions
|
||||
*/
|
||||
|
||||
private void initGaulois(SocialNetworkInterface<Member> iutRS) {
|
||||
String location = "Armorique";
|
||||
asterix = addMember("Asterix",location,iutRS);
|
||||
falbala = addMember("Falbala",location,iutRS);
|
||||
obelix = addMember("Obelix",location,iutRS);
|
||||
panoramix =addMember("Panoramix",location,iutRS);
|
||||
abraracourcix = addMember("Abraracourcix",location,iutRS);
|
||||
}
|
||||
|
||||
private Member addMember(String nom, String location, SocialNetworkInterface<Member> nw ) {
|
||||
Member m = new Member(nom);
|
||||
m.setLocation(location);
|
||||
nw.addMember(m);
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
//------------ Construction des relations ------- //
|
||||
|
||||
private void buildAsterixNetwork() {
|
||||
initGaulois(iutRS);
|
||||
|
||||
iutRS.relate(Strength.STRONG, asterix, obelix);
|
||||
iutRS.relate(Strength.HIGH, asterix, panoramix);
|
||||
iutRS.relate(Strength.STRONG, obelix, asterix);
|
||||
iutRS.relate(Strength.HIGH, obelix, falbala);
|
||||
iutRS.relate(Strength.MEDIUM, obelix, panoramix);
|
||||
iutRS.relate(Strength.LOW, falbala, obelix);
|
||||
iutRS.relate(Strength.LOW, falbala, asterix);
|
||||
iutRS.relate(Strength.LOW, panoramix,abraracourcix);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ----------------- Pour compatibilité des codes avec Junit4 sans trop me fatiguer :-)
|
||||
private static void assertEquals(String commentaire, int valeurAttendue, int valeurObtenue) {
|
||||
Assertions.assertEquals(valeurAttendue, valeurObtenue, commentaire);
|
||||
}
|
||||
private static void assertTrue(String commentaire, boolean value) {
|
||||
Assertions.assertTrue(value, commentaire);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------- Tests
|
||||
|
||||
@Test
|
||||
public void testInit() {
|
||||
Assertions.assertTrue(iutRS != null);
|
||||
initGaulois(iutRS);
|
||||
Assertions.assertTrue(obelix!= null);
|
||||
Assertions.assertTrue(asterix!= null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRelationsAtRankOne() {
|
||||
buildAsterixNetwork();
|
||||
//tests au rang 1
|
||||
Set<Member> membresAmis = iutRS.relatedToRank(asterix, 1);
|
||||
//System.out.println("Amis de Asterix" + membresAmis);
|
||||
assertEquals("taille des amis d'Asterix au rang 1 : 2 membres", 2, membresAmis.size());
|
||||
assertTrue("Asterix est bien ami d'Obelix", membresAmis.contains(obelix));
|
||||
assertTrue("Asterix est bien ami de Panoramix", membresAmis.contains(panoramix));
|
||||
membresAmis = iutRS.relatedToRank(panoramix, 1);
|
||||
//System.out.println("Amis de Panoramix" + membresAmis);
|
||||
assertEquals("taille des amis de Panoramix au rang 1 : 1 membres", 1, membresAmis.size());
|
||||
membresAmis = iutRS.relatedToRank(falbala, 1);
|
||||
assertEquals("taille des amis de Panoramix au rang 1 : 2 membres", 2, membresAmis.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRelationsAtRankTwoandMore() {
|
||||
buildAsterixNetwork();
|
||||
|
||||
//tests au rang 2
|
||||
Set< Member> membresAmis = iutRS.relatedToRank(asterix, 2);
|
||||
//System.out.println("Amis de Asterix au rang 2" + membresAmis);
|
||||
assertEquals("taille des amis d'Asterix au rang 2 : 2 membre Falbala et Abraracourcix, les autres le sont deja au rang 1", 2, membresAmis.size());
|
||||
assertTrue("Asterix est bien ami de falbala au rang 2", membresAmis.contains(falbala));
|
||||
membresAmis = iutRS.relatedToRank(panoramix, 2);
|
||||
assertEquals("taille des amis de Panoramix au rang 2 : 0 membres", 0, membresAmis.size());
|
||||
membresAmis = iutRS.relatedToRank(obelix, 2);
|
||||
//System.out.println("Amis de Obelix au rang 2" + membresAmis);
|
||||
assertEquals("taille des amis Obelix au rang 2 : 1 membre", 1, membresAmis.size());
|
||||
membresAmis = iutRS.relatedToRank(falbala, 2);
|
||||
assertEquals("taille des amis Falbala au rang 2 : 1 membre", 1, membresAmis.size());
|
||||
membresAmis = iutRS.relatedToRank(falbala, 3);
|
||||
assertEquals("taille des amis Falbala au rang 3 : 1 membre", 1, membresAmis.size());
|
||||
assertTrue("Abraracourcix est bien ami de falbala au rang 3", membresAmis.contains(abraracourcix));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDistances() {
|
||||
buildAsterixNetwork();
|
||||
|
||||
//Calcul des distances
|
||||
int distance = iutRS.distance(asterix, obelix);
|
||||
assertEquals("distance entre asterix et obelix", Strength.STRONG.getValue(), distance);
|
||||
distance = iutRS.distance(asterix, falbala);
|
||||
assertEquals("distance entre asterix et falbala", Strength.STRONG.getValue() + Strength.HIGH.getValue(), distance);
|
||||
distance = iutRS.distance(asterix, panoramix);
|
||||
assertEquals("distance entre asterix et Panoramix", Strength.HIGH.getValue(), distance);
|
||||
distance = iutRS.distance(falbala, asterix);
|
||||
assertEquals("distance entre falbala et asterix", Strength.LOW.getValue(), distance);
|
||||
distance = iutRS.distance(falbala, abraracourcix);
|
||||
assertEquals("distance entre falbala et Abraracourcix, passe par Asterix", Strength.LOW.getValue()*2 + Strength.HIGH.getValue(), distance);
|
||||
distance = iutRS.distance(asterix, abraracourcix);
|
||||
assertEquals("distance entre asterix et Abraracourcix", Strength.HIGH.getValue() + Strength.LOW.getValue(), distance);
|
||||
}
|
||||
|
||||
}
|
172
2020-2021/tests/TD6/reseauSocialTestV2/ThirdTests.java
Normal file
172
2020-2021/tests/TD6/reseauSocialTestV2/ThirdTests.java
Normal file
@@ -0,0 +1,172 @@
|
||||
package TD6.reseauSocialTestV2;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import TD6.facebookGhost.FacebookGhostNetwork;
|
||||
import TD6.facebookGhost.User;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import TD6.reseauSocial.core.SocialNetworkInterface;
|
||||
import TD6.reseauSocial.implementation2020.Member;
|
||||
import TD6.reseauSocial.implementation2020.SocialNetWorkImpl;
|
||||
import TD6.reseauSocial.implementation2020.Spy;
|
||||
|
||||
|
||||
|
||||
public class ThirdTests{
|
||||
|
||||
//TODO : reference to be modified according to your implementation
|
||||
//Member refers to your implementation of MemberInterface
|
||||
//SocialNetWorkImpl refers to your implementation of SocialNetworkInterface
|
||||
SocialNetworkInterface<Member> iutRS;
|
||||
|
||||
//Spy snoop = new Spy();
|
||||
|
||||
FacebookGhostNetwork fg ;
|
||||
|
||||
|
||||
|
||||
//------------ Connexions to FG ------- //
|
||||
private FacebookGhostNetwork getFacebookGhostNetwork() {
|
||||
return new FacebookGhostNetwork();
|
||||
}
|
||||
|
||||
private void buildGreekmythologieNetwork() {
|
||||
User zeus = fg.addUser("Zeus","le dieu ...","Olympe");
|
||||
User alcmene = fg.addUser("Alcmene","la mere d'hercule");
|
||||
User hercule = fg.addUser("Hercule","le hero");
|
||||
User admete = fg.addUser ("Admete","l'ami","Grece");
|
||||
fg.addUser("Hera","la femme de zeus","Olympe");
|
||||
fg.addFamilyRelation(hercule, zeus);
|
||||
fg.addFamilyRelation(hercule, alcmene);
|
||||
fg.addFriendRelation(hercule,admete);
|
||||
}
|
||||
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
iutRS = new SocialNetWorkImpl("IUT");
|
||||
fg = getFacebookGhostNetwork();
|
||||
buildGreekmythologieNetwork();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testInit() {
|
||||
assertTrue(iutRS != null);
|
||||
assertTrue(fg.getUser("Zeus") != null);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testConnexionToFg() {
|
||||
Member admeteLocal = iutRS.addMember("Admete", fg);
|
||||
assertEquals("location de Admete",
|
||||
fg.getUser("Admete").getHometown().getName(),
|
||||
admeteLocal.getLocation()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConnexionToFGInitialisation() {
|
||||
Member admeteLocal = iutRS.addMember("Admete", fg);
|
||||
Set<Member> membresAmis = iutRS.relatedToRank(admeteLocal, 1);
|
||||
assertEquals("taille des amis d'ADMETE au rang 1 : 0 membres", 0, membresAmis.size());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testAdapter() {
|
||||
Member admeteLocal = iutRS.addMember("Admete", fg);
|
||||
assertEquals("location de Admete",
|
||||
fg.getUser("Admete").getHometown().getName(),
|
||||
admeteLocal.getLocation()
|
||||
);
|
||||
fg.getUser("Admete").setLocation("mer Egee");
|
||||
assertEquals("location de Admete",
|
||||
fg.getUser("Admete").getHometown().getName(),
|
||||
admeteLocal.getLocation()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testConnexionToFGWithlinks() {
|
||||
// Hera (not known as Zeus wife)
|
||||
Member admete = iutRS.addMember("Admete", fg);
|
||||
Member zeus = iutRS.addMember("Zeus", fg);
|
||||
Member hera = iutRS.addMember("Hera", fg);
|
||||
Member hercule = iutRS.addMember("Hercule", fg);
|
||||
|
||||
//Test relations
|
||||
Set<Member> membresAmis = iutRS.relatedToRank(admete, 1);
|
||||
assertEquals("taille des amis de Admete au rang 1 : 1 membre Hercule", 1, membresAmis.size());
|
||||
|
||||
membresAmis = iutRS.relatedToRank(hera, 1);
|
||||
//System.out.println("amis Hera au rang 1" + membresAmis);
|
||||
assertEquals("taille des amis Hera au rang 1 : 1 membres", 0, membresAmis.size());
|
||||
|
||||
membresAmis = iutRS.relatedToRank(hercule, 1);
|
||||
//System.out.println("relations de hercule" + membresAmis);
|
||||
assertEquals("taille des amis d'Hercule au rang 1 : 2 membres Admete et Zeus: ", 2, membresAmis.size());
|
||||
assertTrue("Zeus est bien ami de Hercule au rang 1", membresAmis.contains(zeus));
|
||||
assertTrue("Admete est bien ami de Hercule au rang 1", membresAmis.contains(admete));
|
||||
|
||||
int distance = iutRS.distance(hercule, zeus);
|
||||
assertEquals("distance entre hercule et zeus", 2, distance);
|
||||
distance = iutRS.distance(hercule, admete);
|
||||
assertEquals("distance entre hercule et admete", 3, distance);
|
||||
|
||||
membresAmis = iutRS.relatedToRank(hercule, 2);
|
||||
//System.out.println("amis d'Hercule au rang 2" + membresAmis);
|
||||
assertEquals("taille des amis d'Hercule au rang 2 : 0 membre", 0, membresAmis.size());
|
||||
|
||||
|
||||
membresAmis = iutRS.relatedToRank(admete, 1);
|
||||
//System.out.println("amis d'ADMETE au rang 1" + membresAmis);
|
||||
assertEquals("taille des amis d'ADMETE au rang 1 : 1 membres", 1, membresAmis.size());
|
||||
distance = iutRS.distance(admete, hercule);
|
||||
assertEquals("distance entre hercule et admete", 3, distance);
|
||||
}
|
||||
|
||||
|
||||
//------------ Observations : Connexions e FG ------- //
|
||||
@Test
|
||||
public void testConnexionToFGAndObserver() {
|
||||
iutRS.addMember("Zeus", fg);
|
||||
Member hera = iutRS.addMember("Hera", fg);
|
||||
Member hercule = iutRS.addMember("Hercule", fg);
|
||||
|
||||
Set<Member> membresAmis = iutRS.relatedToRank(hercule, 1);
|
||||
assertEquals("taille des amis d'Hercule au rang 1 : 1 membre car seul zeus est connu de nous", 1, membresAmis.size());
|
||||
|
||||
//si on ajoute un lien dans fg entre Hera et hercule on ne le voit pas.
|
||||
fg.addFamilyRelation("Zeus", "Hera");
|
||||
membresAmis = iutRS.relatedToRank(hercule, 1);
|
||||
assertEquals("taille des amis d'Hercule au rang 1 : 1 membre car one ne voit pas lien avec Hera", 1, membresAmis.size());
|
||||
assertTrue (iutRS.relatedToRank(hera, 1).size()==0);
|
||||
|
||||
//maintenant si lajout de lien se fait dans fg nous les verrons grace à l'observer
|
||||
//Il faut donc enlever le commentaire ci-dessous
|
||||
//fg.addPropertyChangeListener(iutRS);
|
||||
//fg.addPropertyChangeListener(snoop);
|
||||
//((SocialNetWorkImpl)iutRS).addPropertyChangeListener(snoop);
|
||||
fg.addFamilyRelation("Zeus", "Hera");
|
||||
|
||||
membresAmis = iutRS.relatedToRank(hera, 1);
|
||||
assertEquals("taille des amis Hera au rang 1 : 1 membres", 1, membresAmis.size());
|
||||
|
||||
|
||||
//Non demande
|
||||
/* MemberInterface asterix = iutRS.addMember("Asterix",0,"Asterix, le plus intelligent");
|
||||
fg.addUser("Asterix", "Albert Uderzo, Asterix est le seul anti-heros qui ait jamais autant collectionne les succes et les exploits.");
|
||||
assertEquals("description de Asterix", asterix.getDescription(), fg.getUser("Asterix").myProfil());
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user