Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package edu.cmu.cs211.bacon.tests;
- import static org.junit.Assert.*;
- import static org.junit.Assert.assertEquals;
- import java.util.ArrayList;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
- import org.junit.Test;
- import edu.cmu.cs211.bacon.util.Edge;
- import edu.cmu.cs211.bacon.util.GeneralGraph;
- public class GraphTest {
- @Test
- public void createTest ()
- {
- GeneralGraph<String,Edge<String>> g = new GeneralGraph<String,Edge<String>>();
- assertEquals("Empty graph should have no vertices",0, g.vertices().size());
- String mila="Mila Kunis";
- String natalie="Natalie Portman";
- String ewan="Ewan McGregor";
- Set<String> vertices=new HashSet<String>();
- vertices.add(mila);
- vertices.add(natalie);
- vertices.add(ewan);
- GeneralGraph<String, Edge<String>> g2 = new GeneralGraph<String, Edge<String>>(vertices);
- assertEquals("Graph constructed from a set of vertices", 3, g2.vertices().size());
- Edge blackswan=new Edge(mila, natalie, 1);
- Edge starwars=new Edge(natalie, ewan, 1);
- Set<Edge<String>> edges=new HashSet<Edge<String>>();
- edges.add(blackswan);
- edges.add(starwars);
- GeneralGraph<String, Edge<String>> g3=new GeneralGraph<String, Edge<String>>(vertices, edges);
- assertEquals("Graph constructed from set of vertices and edges", 3, g3.vertices().size());
- GeneralGraph<String, Edge<String>> g4=new GeneralGraph<String, Edge<String>>(g3);
- assertEquals("Graph constructed from previous graph", 3, g4.vertices().size());
- assertEquals("Test the neighbors", 1, g4.neighbors(natalie).size());
- }
- @Test
- public void mytest()
- {
- GeneralGraph<String,Edge<String>> g = new GeneralGraph<String,Edge<String>>();
- String mila="Mila Kunis";
- String natalie="Natalie Portman";
- String ewan="Ewan McGregor";
- g.addVertex(mila);
- g.addVertex(natalie);
- g.addVertex(ewan);
- assertEquals("Added three vertices", 3, g.vertices().size());
- Edge blackswan=new Edge(mila, natalie, 1);
- Edge starwars=new Edge(natalie, ewan, 1);
- assertEquals("Add Black Swan", true, g.addEdge(blackswan));
- assertEquals("Add Star Wars", true, g.addEdge(starwars));
- //Now lets try to add black swan again
- assertEquals("We already have black swan", false, g.addEdge(blackswan));
- assertEquals("Natalie Portman should have two edges", 1, g.neighbors(natalie).size());
- assertEquals("Ewan McGregor should have one edge", 0, g.neighbors(ewan).size());
- assertEquals("Mila Kunis should have one edge", 1, g.neighbors(mila).size());
- assertEquals(blackswan, g.connected(mila, natalie));
- String hayden="Hayden Christiansen";
- String jessica="Jessica Alba";
- String dane="Dane Cook";
- Edge starwars2=new Edge(natalie, hayden, 1);
- Edge awake=new Edge(hayden, jessica, 1);
- Edge goodluckchuck=new Edge(jessica, dane, 1);
- Edge starwars3=new Edge(hayden, ewan, 1);
- g.addVertex(hayden);
- g.addVertex(jessica);
- g.addVertex(dane);
- assertEquals(6, g.vertices().size());
- assertEquals(true, g.addEdge(starwars2));
- assertEquals(true, g.addEdge(starwars3));
- assertEquals(true, g.addEdge(awake));
- assertEquals(true, g.addEdge(goodluckchuck));
- assertEquals("Natalie should have Hayden and Ewan as neighbors", 2, g.neighbors(natalie).size());
- Edge circle=new Edge(natalie, natalie, 1);
- //Now lets try removing
- assertEquals(false, g.removeEdge(mila, ewan));
- assertEquals(true, g.removeEdge(mila, natalie));
- assertEquals(0, g.neighbors(mila).size());
- g.clearEdges();
- assertEquals(0, g.neighbors(natalie).size());
- }
- }
Add Comment
Please, Sign In to add comment