diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..08ebf12
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
index a975943..ea5869e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,3 @@ Rendu1/*.aux
Rendu1/*.out
Rendu1/*.toc
/bin
-.classpath
-.project
diff --git a/.project b/.project
new file mode 100644
index 0000000..824f4f9
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ workspace
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/src/test/TestFirstLast.java b/src/test/TestFirstLast.java
new file mode 100644
index 0000000..883a7bf
--- /dev/null
+++ b/src/test/TestFirstLast.java
@@ -0,0 +1,207 @@
+package test;
+
+import static org.junit.Assert.*;
+
+import java.util.List;
+
+import ise.Algorithm;
+import ise.Flow;
+import ise.Network;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import xml.XmlParser;
+
+
+// TODO : Par et Pour Clement
+// TODO : Rename
+public class TestFirstLast {
+ Network network;
+ Algorithm algo;
+ List flows;
+
+ @Before
+ public void setUp() throws Exception {
+ XmlParser parser = new XmlParser("xml/example1.xml");
+ parser.parse();
+ network = parser.getNetwork();
+ flows = network.getFlows();
+ algo = new Algorithm(network);
+ }
+
+ /*
+ * FirstNodeVisitedByJonI
+ */
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow1() {
+ Flow flowI = network.getFlows().get(0);
+ assertEquals(network.getNodes().get(0), algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(0), algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow2() {
+ Flow flowI = network.getFlows().get(1);
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(8), algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(3), algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(3), algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(4), algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow3() {
+ Flow flowI = network.getFlows().get(2);
+ assertEquals(network.getNodes().get(2), algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(9), algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(2), algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow4() {
+ Flow flowI = network.getFlows().get(3);
+ assertEquals(network.getNodes().get(2), algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(9), algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(2), algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow5() {
+ Flow flowI = network.getFlows().get(4);
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(5), algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow6() {
+ Flow flowI = network.getFlows().get(5);
+ assertEquals(network.getNodes().get(0), algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(4), algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(2), algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(2), algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(network.getNodes().get(11), algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(4), algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testFirstNodeVisitedByJonIForFlow7() {
+ Flow flowI = network.getFlows().get(6);
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(1), algo.firstNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.firstNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ /*
+ * LastNodeVisitedByJonI
+ */
+ @Test
+ public void testLastNodeVisitedByJonIForFlow1() {
+ Flow flowI = network.getFlows().get(0);
+ assertEquals(network.getNodes().get(10), algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(network.getNodes().get(10), algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testLastNodeVisitedByJonIForFlow2() {
+ Flow flowI = network.getFlows().get(1);
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(4), algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(9), algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(9), algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(4), algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testLastNodeVisitedByJonIForFlow3() {
+ Flow flowI = network.getFlows().get(2);
+ assertEquals(network.getNodes().get(1), algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(3), algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(9), algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(9), algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(network.getNodes().get(1), algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testLastNodeVisitedByJonIForFlow4() {
+ Flow flowI = network.getFlows().get(3);
+ assertEquals(network.getNodes().get(1), algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(3), algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(9), algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(9), algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(network.getNodes().get(1), algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testLastNodeVisitedByJonIForFlow5() {
+ Flow flowI = network.getFlows().get(4);
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(11), algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testLastNodeVisitedByJonIForFlow6() {
+ Flow flowI = network.getFlows().get(5);
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(network.getNodes().get(4), algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(2), algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(network.getNodes().get(11), algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(network.getNodes().get(11), algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+ @Test
+ public void testLastNodeVisitedByJonIForFlow7() {
+ Flow flowI = network.getFlows().get(6);
+ assertEquals(network.getNodes().get(10), algo.lastNodeVisitedByJonI(flows.get(0), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(1), flowI));
+ assertEquals(network.getNodes().get(1), algo.lastNodeVisitedByJonI(flows.get(2), flowI));
+ assertEquals(network.getNodes().get(1), algo.lastNodeVisitedByJonI(flows.get(3), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(4), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(5), flowI));
+ assertEquals(null, algo.lastNodeVisitedByJonI(flows.get(6), flowI));
+ }
+
+}
diff --git a/src/test/TestSomeFunctions.java b/src/test/TestSomeFunctions.java
deleted file mode 100644
index 832058e..0000000
--- a/src/test/TestSomeFunctions.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package test;
-
-import static org.junit.Assert.*;
-import ise.Network;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import xml.XmlParser;
-
-
-// TODO : Par et Pour Clement
-// TODO : Rename
-public class TestSomeFunctions {
- Network network;
-
- @Before
- public void setUp() throws Exception {
- XmlParser parser = new XmlParser("xml/example1.xml");
- parser.parse();
- network = parser.getNetwork();
- }
-
- @Test
- public void testFirstNodeVisitedByJonI() {
- // Cas première node de i et j
- // Cas première node de i
- // Cas première node de j
-
- // Cas dernière node de i et j
- // Cas dernière node de i
- // Cas dernière node de j
-
- // Cas général
-
- // Cas aucune node
- fail("Not yet implemented");
- }
-
-}