Map implementated, looks like it works!
[ailab2.git] / test / GraphTest.java
blob21324641dfd24c46e64e7db170687f111075c52a
1 import junit.framework.*;
3 /**
4 * GraphTest
6 * @author "Anton Johansson" <anton.johansson@gmail.com>
7 */
8 public class GraphTest extends TestCase {
9 public GraphTest(String name) {
10 super(name);
13 public void testEmpty() {
14 Graph g = new Graph(11, 24);
15 assertTrue(g.isEmpty());
16 g.insertNode("lund", 0, 0);
17 assertFalse(g.isEmpty());
18 g.insertNode("malmö", 3, 4);
19 g.deleteNode(g.getNode("lund"));
20 assertFalse(g.isEmpty());
21 g.deleteNode(g.getNode("malmö"));
22 assertTrue(g.isEmpty());
26 public void testEdges() {
27 Graph g = new Graph(11, 24);
28 g.insertNode("lund", 1, 2);
29 g.insertNode("malmö", 1, 2);
30 g.insertNode("eslöv", 1, 2);
31 g.insertNode("umeå", 1, 2);
32 g.insertNode("stockholm", 2, 4);
33 g.insertEdge("lund", "malmö", 100.0);
34 g.insertEdge("lund", "eslöv", 200.0);
35 g.insertEdge("eslöv", "umeå", 300.0);
36 g.insertEdge("lund", "stockholm", 400.0);
37 assertEquals("malmö", g.getNode("malmö").getName());
38 assertEquals("umeå", g.getNode("umeå").getName());
39 assertFalse("malmö" != g.getNode("malmö").getName());
40 assertEquals(100.0, g.getWeight("lund", "malmö"));
41 assertEquals(200.0, g.getWeight("lund", "eslöv"));
42 assertEquals(300.0, g.getWeight("eslöv", "umeå"));
43 assertEquals(300.0, g.getWeight("umeå", "eslöv"));
44 assertEquals(400.0, g.getWeight("stockholm", "lund"));
45 assertEquals(400.0, g.getWeight("lund", "stockholm"));
48 public void testSetGetDistance() {
49 Graph g = new Graph(11, 24);
50 GraphNode lund = g.insertNode("lund", 0, 0);
51 GraphNode malmo = g.insertNode("malmö", 0, 2);
52 GraphNode eslov = g.insertNode("eslöv", 5, 0);
53 GraphNode umea = g.insertNode("umeå", 4, 7);
54 GraphNode kiruna = g.insertNode("kiruna", 9, 15);
55 // g.insertNode("stockholm", 2, 4);
56 assertEquals(0, lund.getX());
57 assertEquals(0, lund.getY());
59 assertEquals(0, malmo.getX());
60 assertEquals(2, malmo.getY());
62 lund.setDistanceToGoal(malmo);
63 assertEquals(2.0, lund.getDistanceToGoal());
65 lund.setDistanceToGoal(eslov);
66 assertEquals(5.0, lund.getDistanceToGoal());
68 lund.setDistanceToGoal(umea);
69 // (sqrt (+ (expt 4 2) (expt 7 2)))
70 assertEquals(8.06225774829855, lund.getDistanceToGoal(), 0.0000000001);
72 umea.setDistanceToGoal(kiruna);
73 // (sqrt (+ (expt (- 4 9) 2) (expt (- 7 15) 2)))
74 assertEquals(9.433981132056603, umea.getDistanceToGoal(), 0.0000000001);